¿Qué me dirías si te dijera que con unas pocas de líneas en tu archivo htaccess, pudieras comprimir en un 50% la transferencia de carga de tus páginas, añadiendo unicamente una línea en cada uno de los archivos a los que lo deseas aplicar la compresión?
Este pequeño truco es especialmente útil para archivos cómo los js o los css, pongamos un ejemplo, la popular librería prototype pesa unos 47kb pero utilizando gzip lo podemos reducir a 10Kb una quinta parte del tamaño original.
Y esto con un sólo archivo, pero recuerda que no podrás aplicarlo a tus scripts (php,asp,etc), con esta utilidad la descarga de la página por parte del cliente y liberarás un poco de carga en el servidor.
Primer Paso
El primer paso será localizar nuestro archivo estático (.js .css) al que deseamos aplicar la compresión.
Creamos una copia comprimida con 7Zip unicamente se han de seguir las intrucciones de la web, pero es muy sencilla, si hemos estado trabajando con un archivo.js nos quedará:
archivo.js
archivo.js.gz (notoriamente menos pesado)
Segundo Paso
Despues de crear nuestras copias comprimidas de aquellos archivos que deseamos que sean menos pesados pasamos a realizar una copia de seguridad de nuestro .htaccess en el raiz del servidor.
Una vez realizada la copia de seguridad editamos el archivos .htaccess y añadimos las siguientes líneas.
RewriteEngine on
RewriteOptions Inherit#Check to see if browser can accept gzip files.
ReWriteCond %{HTTP:accept-encoding} (gzip.*)#make sure there's no trailing .gz on the url
#ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [L]
Las primeras líneas activan el rewrite engine, despues comprobaremos si el navegador del cliente acepta nuestros archivos comprimidos en caso afirmativo se asegura que el archivo por el que se ha recibido la peticion no es un .gz y por último chequeamos si existe una copia del archivo en cuestión.
Si se cumplen todas las condiciones el servidor servirá el archivo comprimido en caso contrario servirá el archivo original.
Tercer Paso
Ahora sólo nos queda probarlo... subiremos al servidor la copia original y comprimida de alguno de los archivos (test.html.gz y test.html) de este modo todo debería funcionar correctamente la prueba de fuego será eliminar el original (test.html) sí despues de esto sigue funcionando habremos conseguido servir el archivo menos pesado.
Enlaces Relacionados
Generar passwords accesibles con Php
Codigo Fuente del generador de passwords en PHP
Ejemplo de ejecución del script
PHP y MySql una estrecha relación
5 cosas que no sabías hacer con PHP
Generar documentos OpenOffice con PHP
Nueva versión de Notepad++
Hola Mundo!
Identificar las consultas más lentas de MySql
Crea sencillas gráficas con MySql
Programar un script PHP para saber quién está en línea
Consejos para optimizar PHP
Editando en Opera páginas web en tiempo real
Enlaces Relacionados
- Php calculando PI
- Limitar descargas con Php
- Técnicas de optimización de código
- Reglas básicas para un desarrollador web
- Generar documentos OpenOffice con PHP
- Crea thumbnails con php
- Cachea tus páginas en 5 pasos (PHP)
- Banear Ips con php
- Técnica de generación procedural (64KB generando 1.9GB)
- XML y PHP 5





No se cargan los archivos
Buenas
Estuve siguiendo el tutorial, pero a la hora de realizar la prueba, no funciona!
No se cargan los archivos .js ni los .css
Habria alguna forma especial de comprimir los archivos?
El archivo .htaccess está exactamente igual al ejemplo que has propuesto, lo copie y pegue.
Al realizar la llamada al archivo estilos.css (por ejemplo), reconoce que existe el archivo estilos.css.gz pero me arroja el cuadro de dialogo de descarga de ese archivo.
Me podrias pasar tu archivo .htaccess? y si es posible una pagina en la que utiliza esta funcionalidad, para poder mirarlo detenidamente y ver si estoy haciendo mal algo?
A usted le funciono este ejemplo?
Desde ya muchas gracias,
Saludos
si, esta todo exactamente
si, esta todo exactamente igual que en el manual.
Error
No me funciona correctamente, el navegador no reconoce bien el archivo y no lo trata como el tipo original. Firefox me da este error:
La hoja de estilos http://localhost/style.css no se ha cargado porque su tipo MIME, "application/x-gzip", no es "text/css".
has colocado la ultima linea
has colocado la ultima linea en el htaccess que es la que dice al servidor que debe ignorar la extension gz....
Enviar un comentario nuevo