COMPUTER ENGINEER

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

Mesajlar, temsiller ve dosyalar

Content-Length, compression ve framing

Byte sayısı ile karakter sayısı aynı değildir.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Content-Length taşınan gövdenin byte uzunluğunu belirtir. UTF-8’de bir karakter birden fazla byte olabilir. Content-Encoding gzip/br gövdeye uygulanan dönüşümü anlatır; Content-Type içerik türüdür. Sıkıştırılmış transferin uzunluğu açılmış metin uzunluğuyla aynı değildir.

HTTP/1.1 chunked transfer gövdeyi parçalara ayırarak son uzunluk bilinmeden aktarabilir. HTTP/2/3 kendi framing mekanizmalarını kullanır; Transfer-Encoding: chunked doğrudan taşınmaz. Proxy katmanları mesaj sınırlarını aynı yorumlamalıdır. Çelişkili Content-Length/Transfer-Encoding girdileri güvenlik ve ayrıştırma sorunu yaratır; standart server/proxy’lerin doğrulamasını kullan.

Sıkıştırma CPU ile bant genişliği arasında dengedir. Küçük yanıtların kazancı sınırlı olabilir; JPEG gibi zaten sıkıştırılmış verilerde tekrar compression gereksiz olabilir. Secret ve kullanıcı kontrollü veriyi birlikte sıkıştırmanın yan kanal riskleri bulunduğunu bil; yalnız payload küçüldü diye güvenlik sonucu çıkarma.

NERESİNDE KULLANIRSIN?

Eksik body, yanlış boyut ve proxy sorunlarını anlamak için.

SIK YAPILAN HATA

String.length’i her zaman Content-Length sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Content-Type: text/plain; charset=utf-8

UTF-8 byte uzunluğunu ayrıca düşün.

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.

Bir gzip yanıtında decoded body uzunluğu Content-Length’e eşit olmak zorunda mı?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
Transferred bytes ≠ decoded bytes

Hayır; transfer ve açılmış temsil farklı ölçülerdir.