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 ...


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow