Para PUT
datos comprimidos en el servidor, debe comprimir el cuerpo de la solicitud y establecer el Content-Encoding: gzip
encabezado. El encabezado en sí debe estar sin comprimir. Está documentado en mod_deflate :
El módulo mod_deflate también proporciona un filtro para descomprimir un cuerpo de solicitud comprimido gzip. Para activar esta función, debe insertar el filtro DEFLATE en la cadena de filtro de entrada utilizando SetInputFilter o AddInputFilter.
...
Ahora, si una solicitud contiene una codificación de contenido: encabezado gzip, el cuerpo se descomprimirá automáticamente. Pocos navegadores tienen la capacidad de comprimir cuerpos de solicitud. Sin embargo, algunas aplicaciones especiales realmente admiten la compresión de solicitudes, por ejemplo, algunos clientes de WebDAV.
Y un artículo que lo describe está aquí :
Entonces, ¿cómo lo haces? Aquí hay una propaganda, nuevamente desde el código fuente mod_deflate: solo funciona en la solicitud principal / sin subrequests. Esto significa que todo el cuerpo de la solicitud debe estar comprimido con gzip si elegimos usar esto, no es posible comprimir solo la parte que contiene el archivo, por ejemplo, en una solicitud de varias partes.
Por separado, un navegador puede solicitar que el contenido de la respuesta del servidor se comprima configurando el Accept-Encoding
encabezado como aquí :
GET /index.html HTTP/1.1
Host: www.http-compression.com
Accept-Encoding: gzip
User-Agent: Firefox/1.0
Esto devolverá datos comprimidos al navegador.
you must compress the whole request, inclusive of header
. Sin embargo, los encabezados http no deben comprimirse . Lo único que debe comprimirse (en su totalidad, como dice correctamente el artículo), es el cuerpo http.