mod_pagespeed - Cómo especificar el encabezado "Vary: Accept-Encoding" en.htaccess
pagespeed filters (7)
¡Para comprimir tus archivos de fuentes también!
add "x-font/otf x-font/ttf x-font/eot"
como en:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml x-font/otf x-font/ttf x-font/eot
Google PageSpeed dice que debería "Especificar un encabezado Vary: Accept-Encoding" para JS y CSS. ¿Cómo hago esto en .htaccess?
Esto me estaba volviendo loco, pero parece que la edición de Aularon le faltaba el colon después de "Vary"
. Así que cambiar el "Vary Accept-Encoding"
a "Vary: Accept-Encoding"
solucionó el problema.
Habría comentado debajo de la publicación, pero no parece que me lo permita.
De todos modos, espero que esto le ahorre a alguien el mismo problema que estaba teniendo.
Me temo que Aularon no proporcionó suficientes pasos para completar el proceso. Con un poco de prueba y error, pude habilitar satisfactoriamente Gzipping en mi servidor WHM dedicado.
Debajo están los pasos:
Ejecute EasyApache dentro de WHM, seleccione Desinflar en la lista de Opciones Exhaustivas y reconstruya el servidor.
Una vez hecho esto, vaya a Configuración de Servicios >> Configuración de Apache >> Incluir Editor >> Publicar VirtualHost Incluir, seleccione Todas las Versiones, y luego pegue el código mod_headers.c y mod_headers.c (mencionado anteriormente en la publicación de Aularon) encima de otro dentro del campo de entrada.
Una vez guardado, ¡estaba viendo un ahorro de datos del 75.36% en promedio! Puede ejecutar una prueba de antes y después utilizando esta herramienta de compresión HTTP para ver sus propios resultados: http://www.whatsmyip.org/http_compression/
Espero que esto funcione para todos ustedes!
- Mate
Muchas horas dedicadas a aclarar qué fue eso. Por favor, lea esta publicación para obtener los códigos avanzados .HTACCESS
y aprenda lo que hacen.
Puedes usar:
Header append Vary "Accept-Encoding"
#or
Header set Vary "Accept-Encoding"
No es necesario especificar o incluso verificar si el archivo está / ha comprimido, puede enviarlo a cada archivo, en cada solicitud.
Le dice a los proxies descendentes cómo hacer coincidir los futuros encabezados de solicitud para decidir si se puede usar la respuesta almacenada en caché en lugar de solicitar una nueva del servidor de origen.
<ifModule mod_headers.c>
Header unset Vary
Header set Vary "Accept-Encoding, X-HTTP-Method-Override, X-Forwarded-For, Remote-Address, X-Real-IP, X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port, X-Forwarded-Server"
</ifModule>
- el
unset
consiste en arreglar algunos errores en el alojamiento anterior de GoDaddy, opcionalmente.
Supongo que significa que habilitas la compresión gzip para tus archivos css y js, porque eso permitirá que el cliente reciba tanto contenido codificado en gzip como contenido simple.
Esta es la forma de hacerlo en apache2:
<IfModule mod_deflate.c>
#The following line is enough for .js and .css
AddOutputFilter DEFLATE js css
#The following line also enables compression by file content type, for the following list of Content-Type:s
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml
#The following lines are to avoid bugs with some browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
</IfModule>
Y a continuación se explica cómo agregar el encabezado Vary Accept-Encoding
: [src]
<IfModule mod_headers.c>
<FilesMatch "/.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
El encabezado Vary:
indica que el contenido servido para esta url variará de acuerdo con el valor de un determinado encabezado de solicitud. Aquí dice que servirá contenido diferente para los clientes que dicen que Accept-Encoding: gzip, deflate
(un encabezado de solicitud), que el contenido servido a los clientes que no envían este encabezado. La principal ventaja de esto, AFAIK, es permitir que los proxies intermedios de caché sepan que necesitan tener dos versiones diferentes de la misma url debido a dicho cambio.
si alguien necesita esto para el archivo de configuración NGINX
aquí está el fragmento:
location ~* /.(js|css|xml|gz)$ {
add_header Vary "Accept-Encoding";
(... other headers or rules ...)
}