Web ve protokol temelleri
İstek ve yanıtın anatomisi
Başlangıç satırı, başlıklar ve gövde.
Kavramı anlayalım
HTTP/1.1 istek satırı method, request target ve protokol sürümünü içerir. Yanıt satırı status code taşır; reason phrase uygulama mantığına temel yapılmamalıdır. Başlıklar bir boş satırla gövdeden ayrılır. Gövde JSON olmak zorunda değildir: HTML, dosya veya binary veri olabilir.
HTTP/2 ve HTTP/3 aynı kavramları binary framing ile taşır; bu sayfadaki okunabilir HTTP/1.1 gösterimi onların gerçek wire formatı değildir. Header isimleri case-insensitive’dır, değerlerin anlamı ise ilgili alan tanımına bağlıdır. Aynı başlığı tekrar etmek her alanda aynı biçimde birleştirilemez; Set-Cookie önemli örnektir.
Bir proxy mesajı dönüştürebilir. Content-Length, framing ve compression ayrımını bilmek, “gövde neden eksik geldi?” gibi sorunları teşhis etmeye yardım eder.
Ham mesajı framework’ten bağımsız okuyabilmek için.
HTTP/2’yi metin satırlarından oluşan HTTP/1.1 mesajı sanmak.
Aynı konu. Üç farklı derinlik.
GET /hello HTTP/1.1
Host: example.test
Boş satır header bölümünü bitirir.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Reason phrase değişirse status anlamı değişir mi?
Çözümü ve açıklamasını göster
Status code: 200Hayır; otomasyonu sayısal status code üzerine kur.