HTTP
Codificaciones de respuesta y compresión.
Buscar..
Compresión HTTP
El cuerpo del mensaje HTTP se puede comprimir (desde HTTP / 1.1). El servidor comprime la solicitud y agrega un encabezado de Content-Encoding
, o lo hace un proxy y agrega un encabezado de Transfer-Encoding
.
Un cliente puede enviar un encabezado de solicitud de Accept-Encoding
para indicar qué codificaciones acepta.
Las codificaciones más utilizadas son:
- gzip: algoritmo de desinflado (LZ77) con suma de comprobación CRC32 implementado en el programa de compresión del archivo "gzip" ( RFC1952 )
- desinflar - formato de datos "zlib" ( RFC1950 ), algoritmo de desinflado (híbrido LZ77 y Huffman) con suma de comprobación Adler32
Múltiples métodos de compresión.
Es posible comprimir el cuerpo de un mensaje de respuesta HTTP más de una vez. Los nombres de codificación deben estar separados por una coma en el orden en que se aplicaron. Por ejemplo, si un mensaje se ha comprimido a través de deflate y luego gzip, el encabezado debería verse así:
Content-Encoding: deflate, gzip
Varios encabezados de Content-Encoding
también son válidos, aunque no se recomiendan:
Content-Encoding: deflate
Content-Encoding: gzip
compresión gzip
El cliente primero envía una solicitud con un encabezado Accept-Encoding
que indica que admite gzip:
GET / HTTP/1.1\r\n
Host: www.google.com\r\n
Accept-Encoding: gzip, deflate\r\n
\r\n
El servidor puede enviar una respuesta con un cuerpo de respuesta comprimido y un encabezado de Content-Encoding
que especifica que se usó la codificación gzip:
HTTP/1.1 200 OK\r\n
Content-Encoding: gzip\r\n
Content-Length: XX\r\n
\r\n
... compressed content ...