javascript - htaccess - gzip compression wordpress
¿GZIP se descomprime automáticamente por el navegador? (2)
He habilitado la compresión gzip en IIS 8.0 siguiendo la url Habilitando Gzip en IIS en Windows 8 Estoy llamando a servicios externos de descanso desde mi aplicación a través de la llamada jquery ajax y el código C #, actualmente mi servicio web externo no está comprimido en gzip. Si le pido a mi socio de servicio que compruebe su respuesta, ¿necesito escribir alguna lógica de descompresión en mi código en el lado de jQuery y el lado C # o el navegador descomprimir automáticamente la respuesta para mí?
Si la compresión gzip está habilitada en el servidor web , es decir, no en la lógica de la aplicación, el navegador se descomprimirá automáticamente.
De hecho, si el navegador no admite la compresión, el servidor web enviará los datos sin comprimir (esta información se encuentra en los encabezados http de solicitud / respuesta intercambiados entre el navegador y el servidor web). Solo tenga en cuenta que la compresión no es efectiva con JPEG y otros formatos ya comprimidos.
Todos los navegadores modernos pueden manejar una respuesta codificada en gzip. De hecho, si miras sus solicitudes, tendrán un encabezado que dice algo similar a Accept-Encoding: gzip
que es su forma de decirle al servidor que pueden manejar las respuestas gzipped.
La parte importante es que su servidor puede devolver respuestas tanto gzip como no comprimidas, dependiendo de la existencia y el valor de ese encabezado. Si un cliente no envía el encabezado Accept-Encoding
, no debe comprimirlo. Si el cliente lo envía, opcionalmente puede codificar la respuesta usando gzip. No es necesario comprimir todo el contenido, ya que puede estar comprimido y está perdiendo ciclos de CPU. Las imágenes JPEG suelen ser un buen ejemplo de esto. Lo más probable es que IIS también tome una decisión inteligente aquí y solo comprima lo que sea necesario, cuando sea necesario.
Puede verificar que IIS está haciendo lo que debería al mirar los encabezados de respuesta que regresan de su servidor y buscar el Content-Encoding: gzip
. Eso le dice al cliente, o navegador, que el contenido está codificado usando la compresión gzip y debe descomprimirlo adecuadamente.
Todas las solicitudes basadas en el navegador (por ejemplo, AJAX / jQuery, solicitudes regulares) se descomprimirán automáticamente sin que usted haga un esfuerzo adicional. El navegador es el cliente responsable de determinar si puede manejar gzip y agregará el encabezado Accept-Encoding
si lo hace. Su código de JavaScript recibirá la versión sin comprimir de él en su controlador de respuestas.
TL; DR : Por lo general, encenderlo es una buena idea y no es necesario que haga un trabajo adicional.