Evitar que o mod_deflate do Apache comprima respostas vazias de redirecionamento 302

3

O Apache com o mod_deflate (inutilmente) comprime até 302 respostas de redirecionamento vazias (geradas pelo PHP), adicionando um corpo de respostas de 20 bytes. Navegadores modernos estão ok com isso, mas o IE6 parece bloquear aleatoriamente os 20 bytes.

Existe uma maneira de configurar mod_deflate para ignorar respostas vazias (ou pelo menos 200 respostas)?

NOTA: Eu sei que posso desabilitar deflacionar via SetEnvIfNoCase e BrowserMatch, mas eu realmente gostaria de desativá-lo apenas para o que ele faz de errado: compactar respostas vazias.

    
por Sergio 11.02.2011 / 14:28

1 resposta

1

Eu não acho que 302 corpos de resposta do apache estão vazios, mas sim ter alguma mensagem básica sobre a resposta sendo movida. Portanto, mod_deflate está apenas fazendo o seu trabalho.

Verifique com telnet ou netcat - aqui está um exemplo de netcat:

echo -e "GET / HTTP/1.1\nHost: myhost.com\n\n" | nc myhost.com 80

Se você quiser mudar isso, você pode usar um ErrorDocument para dizer ao apache para servir seu arquivo personalizado para 302 respostas. Seu arquivo precisaria ser inteligente o suficiente para ler as variáveis de ambiente apropriadas para fazer o redirecionamento em si, mas você pode deixar o corpo vazio - ou melhor ainda definir um cabeçalho Content-Type diferente que mod_deflate não corresponderá.

    
por 13.02.2011 / 20:27