- Difficulty level
- Intermediate
- What readers will learn
- Bu rehberi tamamladığınızda;
HTTP'nin ne olduğunu,
Client (İstemci) ve Server (Sunucu) kavramlarını,
HTTP Request ve Response yapılarını,
URL'nin nasıl işlendiğini,
HTTP Header ve Body kavramlarını,
Stateless yapıyı,
HTTP/1.1, HTTP/2 ve HTTP/3 arasındaki farkları,
HTTPS ve SSL/TLS'nin neden gerekli olduğunu
öğrenmiş olacaksınız.
30 Saniyelik Özet
Her gün onlarca web sitesi ziyaret ediyor, mobil uygulamalar kullanıyor ve internette sayısız işlem gerçekleştiriyoruz. Peki tarayıcınıza bir adres yazıp Enter tuşuna bastığınız anda arka planda neler oluyor?
İşte bu iletişimin merkezinde HTTP (HyperText Transfer Protocol) bulunur.
HTTP; web tarayıcıları, mobil uygulamalar ve sunucular arasında veri alışverişini sağlayan standart iletişim protokolüdür. Günümüzde REST API'lerden yapay zekâ servislerine, e-ticaret sitelerinden sosyal medya platformlarına kadar internet üzerindeki neredeyse tüm iletişim HTTP üzerinden gerçekleşir.
Bu rehberde HTTP'nin ne olduğunu, nasıl çalıştığını ve modern web teknolojilerindeki yerini adım adım öğreneceksiniz.
HTTP Nedir?
HTTP (HyperText Transfer Protocol), istemci ile sunucu arasında veri alışverişi yapılmasını sağlayan uygulama katmanı (Application Layer) iletişim protokolüdür.Basitçe ifade etmek gerekirse;
Tarayıcınız bir istekte bulunur.
Sunucu bu isteği işler.
Sonucu tekrar tarayıcıya gönderir.
Bugün ziyaret ettiğiniz hemen hemen her web sitesi bu iletişim modelini kullanır.
Örneğin;
- Haber siteleri
- Forumlar
- E-ticaret siteleri
- Bankacılık uygulamaları
- Yapay zekâ servisleri
- Bulut sistemleri
Bilmeniz Gereken
HTTP bir programlama dili değildir.
Bir veritabanı da değildir.
HTTP yalnızca istemci ile sunucu arasındaki iletişim kurallarını tanımlayan standart bir protokoldür.
HTTP Neden Geliştirildi?
İnternetin ilk yıllarında bilgisayarların ortak bir iletişim dili yoktu.Bir web tarayıcısı;
- hangi sayfanın istendiğini,
- sunucunun nasıl cevap vereceğini,
- verinin hangi formatta gönderileceğini
Bu problemi çözmek için HTTP geliştirildi.
Bugün farklı ülkelerde geliştirilen milyonlarca uygulama aynı standart sayesinde birbiriyle sorunsuz iletişim kurabiliyor.
Client ve Server Nedir?
HTTP iletişimi iki temel bileşenden oluşur.Client (İstemci)
İsteği başlatan taraftır.Örneğin;
- Google Chrome
- Firefox
- Safari
- Mobil uygulamalar
- Masaüstü uygulamaları
Server (Sunucu)
İsteği alan ve cevaplayan taraftır.Sunucu;
- isteği işler,
- gerekirse veritabanına bağlanır,
- sonucu hazırlar,
- istemciye geri gönderir.
Rich (BB code):
Tarayıcı (Client)
│
│ HTTP Request
▼
Sunucu (Server)
│
│ Veritabanı
▼
HTTP Response
│
▼
Tarayıcı
Tarayıcıda Enter Tuşuna Bastığınızda Ne Olur?
Şimdi gerçek bir senaryo düşünelim.Adres çubuğuna şunu yazıyorsunuz:
WMstudio | Modern Girişimcilik & Geliştirme Topluluğu
Web tasarım, yazılım geliştirme, yapay zekâ otomasyonları ve modern girişimcilik üzerine odaklanmış yeni nesil topluluk. Projeni büyütmek için katıl!
wmstudio.net
- Tarayıcı alan adını DNS üzerinden IP adresine çevirir.
- Sunucuyla bağlantı kurar.
- HTTP isteği gönderir.
- Sunucu isteği işler.
- HTML dosyasını oluşturur.
- Tarayıcı HTML'yi indirir.
- CSS, JavaScript ve görseller için ek istekler gönderir.
- Sayfa ekranda görüntülenir.
Bilmeniz Gereken
Bir web sayfası açıldığında yalnızca tek bir HTTP isteği yapılmaz. HTML dosyası yüklendikten sonra CSS, JavaScript, yazı tipleri, görseller ve diğer kaynaklar için onlarca hatta yüzlerce ek HTTP isteği gönderilebilir.
HTTP Request Nedir?
Request (İstek), istemcinin sunucuya gönderdiği mesajdır.Örneğin bir tarayıcı aşağıdaki isteği gönderebilir:
HTTP:
GET /articles/http-nedir HTTP/1.1
Host: wmstudio.net
User-Agent: Chrome
Accept: text/html
Bu istekte;
GET→yapılacak işlemi,/articles/http-nedir→istenen kaynağı,Host→hedef sunucuyu,User-Agent→isteği gönderen istemciyi,Accept→beklenen içerik türünü
HTTP Response Nedir?
Sunucu isteği aldıktan sonra bir yanıt oluşturur.Örneğin:
HTTP:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 25431
Ardından HTML içeriğini gönderir.
Tarayıcı bu veriyi işleyerek kullanıcıya web sayfasını gösterir.
HTTP Header Nedir?
Header, istek veya yanıt hakkında ek bilgiler içeren bölümdür.Örneğin;
- Tarayıcı bilgisi
- İçerik türü
- Dil tercihi
- Kimlik doğrulama bilgileri
- Çerezler (Cookies)
- Önbellek ayarları
Header'lar sayesinde istemci ve sunucu birbirini daha iyi anlayabilir.
HTTP Body Nedir?
Body bölümü, gönderilen gerçek veriyi içerir.Örneğin yeni bir kullanıcı oluştururken:
JSON:
{
"name": "Ahmet Yılmaz",
"email": "[email protected]"
}
Bu JSON verisi HTTP isteğinin Body bölümünde sunucuya gönderilir.
Stateless Nedir?
HTTP'nin en önemli özelliklerinden biri Stateless olmasıdır.Yani sunucu, gelen her isteği birbirinden bağımsız olarak değerlendirir.
Örneğin;
Bir kullanıcı giriş yaptıktan sonra ikinci istekte sunucu onu otomatik olarak hatırlamaz.
Bu nedenle;
- Session
- Cookie
- JWT Token
Bilmeniz Gereken
HTTP bağlantıyı değil, yalnızca isteği bilir. Kullanıcının oturum bilgilerini korumak için ek mekanizmalara ihtiyaç duyulur.
HTTP Sürümleri
HTTP/1.1
Uzun yıllar internetin standart sürümü olmuştur.Her istek belirli sınırlamalarla işlenir ve aynı bağlantı üzerinden iletişim kurulabilir.
HTTP/2
Performansı artırmak amacıyla geliştirilmiştir.En önemli yenilikleri:
- Multiplexing
- Header Compression
- Server Push desteği
HTTP/3
En yeni sürümdür.TCP yerine QUIC protokolünü kullanır.
Avantajları:
- Daha düşük gecikme
- Daha hızlı bağlantı kurulumu
- Paket kayıplarında daha iyi performans
- Mobil ağlarda daha kararlı iletişim
HTTP ile HTTPS Arasındaki Fark
HTTP verileri düz metin olarak iletir.HTTPS ise aynı iletişimi SSL/TLS şifrelemesi ile güvenli hale getirir.
HTTPS sayesinde;
- Şifreler
- Kredi kartı bilgileri
- Oturum verileri
- Kişisel bilgiler
Bu nedenle günümüzde neredeyse tüm web siteleri HTTPS kullanmaktadır.
Gerçek Hayatta HTTP Nerelerde Kullanılır?
HTTP yalnızca web sitelerinde kullanılmaz.Bugün;
- REST API'ler
- Mobil uygulamalar
- Bulut servisleri
- IoT cihazları
- Mikro servis mimarileri
- Yapay zekâ servisleri
- Ödeme sistemleri
Örneğin ChatGPT, Gemini veya Claude gibi yapay zekâ servislerine gönderdiğiniz istekler de HTTP tabanlı API'ler aracılığıyla iletilir.
Sonuç
HTTP, internet üzerindeki istemci ve sunucu iletişiminin temelini oluşturan standart protokoldür. Bir web sayfasının görüntülenmesinden REST API çağrılarına, mobil uygulamalardan yapay zekâ servislerine kadar pek çok sistem, veri alışverişini HTTP sayesinde gerçekleştirir.HTTP'nin çalışma mantığını anlamak, yalnızca web geliştiricileri için değil; API'lerle çalışan, bulut servislerini kullanan veya modern yazılım mimarilerini öğrenmek isteyen herkes için güçlü bir temel oluşturur.