6 puan yazan GN⁺ 2024-05-27 | 1 yorum | WhatsApp'ta paylaş

HTTP isteğinin yaşam döngüsü

1. İstemci isteği gönderir

  • HTTP isteği oluşturma: İstemci (genellikle web tarayıcısı) bir HTTP isteği oluşturur.
  • HTTP metodu: GET, POST vb.
  • İstenen kaynak: Örneğin /index.html.
  • Protokol sürümü: HTTP/1.1 vb.
  • Header'lar ve gövde: key: value biçimindeki header'lar ve isteğe bağlı mesaj gövdesi içerir.

2. DNS sorgusu

  • Alan adı dönüştürme: İnsan tarafından okunabilen alan adını (www.example.com) IP adresine (93.184.216.34) dönüştürür.
  • DNS sunucusu sorgusu: İstemci, alan adını IP adresine çevirmek için DNS sunucusuna sorgu gönderir.

3. TCP handshake

  • TCP bağlantısı kurulumu: İstemci, sunucuyla bir TCP bağlantısı kurar.
  • 3 aşamalı handshake:
    • SYN: İstemci bağlantı isteği gönderir.
    • SYN-ACK: Sunucu isteği onaylar.
    • ACK: İstemci onay yanıtı gönderir.

4. HTTP isteğinin iletilmesi

  • HTTP isteğinin iletilmesi: TCP bağlantısı kurulduktan sonra istemci gerçek HTTP isteğini gönderir.

5. Paketlerin internet üzerinden yönlendirilmesi

  • Paket iletimi: Veri paketleri çeşitli ağ cihazları üzerinden sunucuya yönlendirilir.
  • Router'ın rolü: Router, paketler için en uygun yolu belirler.

6. Sunucu yanıtı

  • HTTP yanıtı oluşturma: Sunucu, HTTP isteğini işler ve bir yanıt oluşturur.
  • Yanıt içeriği:
    • Protokol: Kullanılan HTTP sürümü.
    • Durum bilgisi: HTTP durum kodu (ör. 200, 404).
    • Yanıt header'ları: İstek header'larına benzer.
    • Yanıt gövdesi: İstenen içerik (ör. HTML sayfası, JSON verisi).

7. İçeriğin render edilmesi

  • HTTP yanıtını işleme: İstemci HTTP yanıtını alır ve işler.
  • Tarayıcıda render etme: Tarayıcı HTML'yi yorumlar ve içeriği ekranda render eder.
  • Ek kaynak istekleri: Görsel, CSS, JavaScript gibi ek kaynaklar istenir.

HTTPS = HTTP + şifreleme

TLS handshake

  • TLS handshake: İstemci ve sunucu, şifreleme ve kimlik doğrulama anahtarlarını değiş tokuş eder.
  • Şifreli iletişim: TLS handshake sonrasında istemci ve sunucu, HTTP kullanarak şifrelenmiş mesajlar alışverişi yapar.

TLS 1.3 handshake

  • Basitleştirilmiş süreç: TLS 1.3 daha az seçenek sunarak daha basit, daha güvenli ve daha hızlıdır.
  • Temel adımlar:
    • Client Hello: İstemci, desteklediği cipher suite'leri ve TLS sürümünü sunucuya gönderir.
    • Server Hello: Sunucu, seçtiği cipher suite'i ve TLS sürümünü istemciye gönderir.
    • Sertifika doğrulama: İstemci, sunucunun SSL sertifikasını doğrular.
    • Premaster secret oluşturma: İstemci bir premaster secret oluşturur ve bunu sunucuya gönderir.
    • Session key oluşturma: İstemci ve sunucu session key'leri oluşturur.
    • Güvenli iletişim: Session key'ler kullanılarak güvenli simetrik şifreleme üzerinden iletişim kurulur.

GN⁺ görüşü

  • İnternet iletişimini anlama: HTTP ve HTTPS'in temel kavramlarını anlamak, ağ iletişiminin temellerini sağlamlaştırmaya yardımcı olur.
  • Güvenliğin önemi: HTTPS ile veri aktarımının güvenliğini artırmak önemlidir.
  • TLS 1.3'ün avantajları: Daha basit, daha hızlı ve daha güvenli olan TLS 1.3'ün kullanılması önerilir.
  • Pratik uygulama: Gerçek projelerde HTTPS uygulayarak güvenliği güçlendirmek gerekir.
  • Ek öğrenme: Ağ katmanları ve protokoller üzerine ek çalışmalarla daha derin bir anlayış kazanılabilir.

1 yorum

 
GN⁺ 2024-05-27
Hacker News görüşleri
  • Ağ sorunları ortaya çıktığında problemin nerede oluştuğunu anlamanın neden zor olduğuna dair bir soru. Ağ yolunun deterministik olmamasına dair açıklamanın ikna edici gelmediğini söyleyen bir görüş.
  • TLSv1.2 ve TLSv1.3 için ayrıntılı ve etkileşimli örnekler öneren bir görüş. Bağlantı veriyor.
  • "ELI(vasat bir mühendis için)" tarzı açıklamanın faydalı olduğunu söyleyen bir görüş. Daha fazla örnek bulmak istiyor.
  • SHA256 imza doğrulama kodu örneği arayan birinin talebi. Teoriyi biliyor ama uygulamada zorlanıyor.
  • San Francisco'da HTTP isteği yazarak yıllık $300K kazanıldığı kısmının yazıdaki en iyi bölüm olduğunu söyleyen bir görüş.
  • İstemcinin sunucunun açık anahtarıyla pre-master secret'ı şifreleyip göndermesinin eski bilgi olduğunu belirten bir görüş.
  • SSL sertifikasının özel anahtarı içerdiği açıklamasına dair şüphe. "Mediocre Engineer" başlığına uygun bir anlatım olduğu görüşü.
  • Yıllık $300K yerine $50K daha düşük maaşla çalışmak istediğine dair bir şaka. TLS <1.3 açıklamasının yanlış olduğunu belirtiyor.
  • Yazı içeriğinin eski olduğunu ve güncel web isteklerinin %30'unun HTTP3 ve CORS kullandığını söyleyen bir görüş. Yayın tarihi olmadığını da belirtiyor.
  • HTTPS açıklamasının yapay zeka özeti gibi göründüğünü söyleyen bir görüş. Terim açıklamalarının yetersiz olduğunu ve okuyucunun açık anahtarlı şifrelemeyi bildiğinin varsayıldığını belirtiyor. OSI katmanları açıklamasının da eksik olduğuna dikkat çekiyor.