COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
19/ 70

Mesajlar, temsiller ve dosyalar

Header’lar ve content negotiation

İstenen format ile gönderilen formatı ayır.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Accept istemcinin tercih ettiği temsil türünü; Content-Type taşınan gövdenin medya türünü açıklar. Accept: application/json göndermek body’nin JSON olduğu anlamına gelmez. Accept-Language dil tercihine, Accept-Encoding sıkıştırma desteğine işaret edebilir. Sunucu bu tercihleri hangi ölçüde desteklediğini sözleşmede belirtir.

Vary, cache’in hangi request başlıklarına göre temsil seçimini ayırması gerektiğini bildirir. Dile göre yanıt üretirken dil boyutunu cache anahtarından çıkarırsan başka dilde içerik dağıtabilirsin. Vary: * genellikle tekrar kullanım imkânını çok azaltır.

Başlık adları case-insensitive’dır; token ve değer kuralları alan bazında farklıdır. Büyük veya sınırsız başlıklar kaynak tüketebilir, istemci/proxy/sunucu limitleri uyumlu olmalıdır. Kullanıcı metnini header’a koyarken newline gibi kontrol karakterlerini reddet.

NERESİNDE KULLANIRSIN?

TR/EN içerikleri ve farklı istemcileri doğru desteklemek için.

SIK YAPILAN HATA

Accept ile Content-Type’ı birbirinin yerine kullanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Accept: application/json

Yanıt tercihi.

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.

02 / SIRA SENDE

Önce kendin dene.

POST body JSON, yanıt PDF isteniyorsa hangi başlıklar gerekir?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
Content-Type: application/json
Accept: application/pdf

Sunucunun bunu desteklemesi gerekir; başlık göndermek destek yaratmaz.