Pregunta

Estoy tratando de reducir algunas rarezas con mis llamadas AJAX. Mis scripts PHP tienen esto al principio:

ob_start("ob_gzhandler");

Funciona muy bien con HTML. ¿Pero hay algún problema al hacerlo con datos de aplicación / json? ¿Algún problema con el navegador que alguien conozca?

¿Fue útil?

Solución

No lo creo ... He usado archivos estáticos almacenados como JSON comprimido anteriormente, y funcionó bien con AJAX.

editar: revisé mi script php y lo único que hice fue incluir estos encabezados:

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

Si no recuerdo mal, cada vez que intentaba cambiar el tipo de contenido a algo que indicara JSON, el cliente tenía problemas.

Otros consejos

Algunos navegadores antiguos, como ciertas versiones de IE6, arruinan el contenido comprimido, especialmente el contenido js.

Simplemente verifique que su servidor envíe el encabezado de codificación de contenido adecuado, es decir

Content-Encoding: gzip

También debe verificar los encabezados enviados por el navegador para el encabezado apropiado de codificación de aceptación antes de enviar contenido comprimido ... es decir,

Accept-Encoding: gzip,deflate

Puede proporcionar contenido comprimido cada vez que el navegador especifique gzip en el encabezado de solicitud Accept-Encoding . En ese caso, no hay diferencia entre JSON y HTML y no se causarán problemas de ningún tipo.

En lugar de habilitar la compresión en PHP, habilitaría la compresión en Apache (usando mod_deflate) para que pueda verificar varios navegadores incompatibles y solo enviar datos comprimidos para los navegadores que lo aceptan y lo manejan correctamente.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top