Para PUT
dados no servidor compactado, você deve compactar o corpo da solicitação e definir o Content-Encoding: gzip
cabeçalho. O cabeçalho em si deve ser descompactado. Está documentado em mod_deflate :
O módulo mod_deflate também fornece um filtro para descomprimir um corpo de solicitação compactado gzip. Para ativar esse recurso, você deve inserir o filtro DEFLATE na cadeia de filtros de entrada usando SetInputFilter ou AddInputFilter.
...
Agora, se uma solicitação contiver um cabeçalho Content-Encoding: gzip, o corpo será descompactado automaticamente. Poucos navegadores têm a capacidade de compactar os corpos de solicitação. No entanto, alguns aplicativos especiais oferecem suporte à compactação de solicitações, por exemplo, alguns clientes WebDAV.
E um artigo que descreve está aqui :
Então como você faz isso? Aqui está uma sinopse, novamente a partir do código fonte mod_deflate: trabalhe apenas na solicitação principal / sem sub-requisições. Isso significa que todo o corpo da solicitação deve ser compactado com gzip se optarmos por usá-lo, não é possível compactar apenas a parte que contém o arquivo, por exemplo, em uma solicitação com várias partes.
Separadamente, um navegador pode solicitar que o conteúdo da resposta do servidor seja compactado definindo o Accept-Encoding
cabeçalho conforme aqui :
GET /index.html HTTP/1.1
Host: www.http-compression.com
Accept-Encoding: gzip
User-Agent: Firefox/1.0
Isso retornará dados compactados para o navegador.
you must compress the whole request, inclusive of header
. No entanto, os cabeçalhos http não devem ser compactados . A única coisa que precisa ser compactada (na íntegra, como o artigo que você cita corretamente declara), é o corpo do http.