A codificação do gzip é compatível com o JSON?

Estou tentando diminuir a estranheza com minhas chamadas AJAX. Meus scripts PHP têm isso no início:

ob_start("ob_gzhandler"); 

Funciona muito bem com o HTML. Mas existem problemas para fazê-lo com dados do aplicativo / json? Qualquer navegador que qualquer um conheça?

Eu não penso assim … Eu usei arquivos estáticos armazenados como JSON gzip antes, e funcionou bem com o AJAX.

editar: Verifiquei o meu script php e a única coisa que fiz foi include esses headers:

 Content-Encoding: gzip Content-Type: text/plain 

Se eu me lembro bem, sempre que eu tentei mudar o Content-Type para algo que indicaria JSON, o cliente teve problemas.

Alguns navegadores mais antigos, como certas versões do IE6, estragam o conteúdo gzip, especialmente o conteúdo js.

Basta verificar se o seu servidor envia um header de codificação de conteúdo adequado, isto é

 Content-Encoding: gzip 

Você também deve verificar os headers enviados pelo navegador para o header de codificação de aceitação apropriado antes de enviar o conteúdo gzipado … ou seja,

 Accept-Encoding: gzip,deflate 

Você pode fornecer conteúdo gzip sempre que o navegador especificar gzip no header de solicitação de Accept-Encoding . Nesse caso, não há diferença entre JSON e HTML e nenhum problema será causado.

Em vez de habilitar a compression em PHP, eu permitirei a compactação no Apache (usando o mod_deflate) para que você possa verificar vários navegadores incompatíveis e apenas enviar dados compactados para os navegadores que o aceitam e gerenciá-lo corretamente.

http://httpd.apache.org/docs/2.0/mod/mod_deflate.html