HTTP
Codifiche di risposta e compressione
Ricerca…
Compressione HTTP
Il corpo del messaggio HTTP può essere compresso (poiché HTTP / 1.1). O dal server comprime la richiesta e aggiunge un'intestazione Content-Encoding
o da un proxy e aggiunge un'intestazione Transfer-Encoding
.
Un client può inviare un'intestazione di richiesta Accept-Encoding
per indicare quali codifiche accetta.
Le codifiche più comunemente usate sono:
- gzip - deflate algorithm (LZ77) con checksum CRC32 implementato nel programma di compressione del file "gzip" ( RFC1952 )
- deflate - formato dati "zlib" ( RFC1950 ), algoritmo di svuotamento (ibrido LZ77 e Huffman) con checksum Adler32
Più metodi di compressione
È possibile comprimere un corpo del messaggio di risposta HTTP più di una volta. I nomi della codifica dovrebbero quindi essere separati da una virgola nell'ordine in cui sono stati applicati. Ad esempio, se un messaggio è stato compresso tramite deflate e quindi gzip, l'intestazione dovrebbe essere simile a:
Content-Encoding: deflate, gzip
Più intestazioni di Content-Encoding
sono valide anche se non raccomandate:
Content-Encoding: deflate
Content-Encoding: gzip
compressione gzip
Il client invia prima una richiesta con un'intestazione Accept-Encoding
che indica che supporta gzip:
GET / HTTP/1.1\r\n
Host: www.google.com\r\n
Accept-Encoding: gzip, deflate\r\n
\r\n
Il server può quindi inviare una risposta con un corpo di risposta compresso e un'intestazione Content-Encoding
che specifica che è stata utilizzata la codifica gzip ::
HTTP/1.1 200 OK\r\n
Content-Encoding: gzip\r\n
Content-Length: XX\r\n
\r\n
... compressed content ...