Noticias y eventos
- Grabar llamadas de skype en Linux Hola amigos, que tal tanto tiempo despues de mucho tiempo voy a comentarle esta pequeña aplicacion para Linux. Se...
- Instalacion de Doctrine ORM en Debian/Ubuntu Hola, esta vez quisiera acercarles una reducida guía de como instalar Doctrine ORM para PHP en el sistema operativo...
- Google ahora ofrece su propio servicio de DNS El servicio DNS es el que se encarga de convertir las direcciones legibles por humanos, como por ejemplo www.arzion.com a...
Contacto
Si tienes cualquier duda, consulta o sugerencia puedes mandarnos un email usando el siguiente formulario:
Acelerar tu aplicacion web con el .htaccess de Arzion
creado por Lautaro Rosales - 24/02/2009
Al hacer nuestra aplicacion web, podemos encontrar que el hermoso desarrollo que hemos hecho, queda desdibujado por su performance. Con el .htaccess de arzion, vas a poder manejar de una manera mejor tu contenido, vas a acelerar la carga de tu sitio y ademas podras ahorrar ancho de banda.
Antes de presentarles el htaccess, necesitamos algunos conocimientos previos para entender como funciona esto. el htaccess en los servidores web, mayor mente en apache son configuraciones a nivel de directorio. Es decir que al poner un htaccess en una carpeta todos los archivos dentro, se comportaran de acuerdo a las directivas que este dé. Esto tambien se aplica a todos los subdirectorios de este a menos que en ellos exista otro htaccess. El archivo comienza con un punto es decir ".htaccess" ya que es una convencion de los sistemas basados en unix para los archivos ocultos.
¿Pero qué es lo que vamos a hacer con este archivo?
Lo que se va a lograr, es cambiar las fechas de expiracion, gzippear el contenido, establecer cache control, y apagar los ETAGS.
¿Qué es la fecha de Expiración?
La Fecha de Expiración de un archivo, es lo que le dice al navegador cuando volver a pedirlo. Es decir, si un visitante ingresa al sitio y recibe que una imagen expira dentro de un año, mientras reciba que esa imagen no fue modificada (codigo 302) , no la volverá a pedir. Pero si no le seteamos ninguno entonces sera el navegador quien decida, y somos nosotros los que tenemos que tener el control.
¿Qué es el cache control?
El cache control son las directivas de cacheo, es decir, lo que el navegador debe almacenar hasta la fecha de expiracion de cada archivo.
¿Qué es Gzip y como impacta su uso en mi aplicacion?
La palabra viene de GNU zip y permite comprimir (no confundir con zip, gzip comprime pero no archiva). Basicamente lo que hace es devolver el contenido que nosotros establecemos comprimido, de esta manera reducimos la cantidad total de descarga, por lo tanto menos ancho de banda y menos tarda en cargar el sitio.
¿Qué es Etag y por que lo debo deshabilitar?
El Etag es otro metodo de comprovacion que tiene el navegador para ver si el archivo que tiene cacheado (guardado) es el mismo que el que esta tratando de enviar el servidor. Al desactivar que los archivos tengan Etag el navegador los vera todos iguales y sólo se guiará por si el archivo fue modificado o no.
Es aconsejable usar siempre estas directivas, aunque seguramente deberás meter mano para adaptarla a tu servidor. Lo importante es que siempre tengas en mente, que los archivos estaticos deberan tener fecha de expiracion lejana, que vengan gzipeados (imagenes no) y el cache control que especifique un max age mayor para archivos estaticos, y recuerda excluir a los archivos que se carguen dinamicamente o que cambien con mucha frecuencia. ¿Hay otros metodos para mejorar la velocidad? Claro que si, por ejemplo puedes leer este articulo de maxi, donde explica la importancia de los CDN y como obtener uno gratis en google.
Si todavia quieres leer más al respecto, te recomiento http://developer.yahoo.com/performance/rules.html
Antes de presentarles el htaccess, necesitamos algunos conocimientos previos para entender como funciona esto. el htaccess en los servidores web, mayor mente en apache son configuraciones a nivel de directorio. Es decir que al poner un htaccess en una carpeta todos los archivos dentro, se comportaran de acuerdo a las directivas que este dé. Esto tambien se aplica a todos los subdirectorios de este a menos que en ellos exista otro htaccess. El archivo comienza con un punto es decir ".htaccess" ya que es una convencion de los sistemas basados en unix para los archivos ocultos.
¿Pero qué es lo que vamos a hacer con este archivo?
Lo que se va a lograr, es cambiar las fechas de expiracion, gzippear el contenido, establecer cache control, y apagar los ETAGS.
¿Qué es la fecha de Expiración?
La Fecha de Expiración de un archivo, es lo que le dice al navegador cuando volver a pedirlo. Es decir, si un visitante ingresa al sitio y recibe que una imagen expira dentro de un año, mientras reciba que esa imagen no fue modificada (codigo 302) , no la volverá a pedir. Pero si no le seteamos ninguno entonces sera el navegador quien decida, y somos nosotros los que tenemos que tener el control.
¿Qué es el cache control?
El cache control son las directivas de cacheo, es decir, lo que el navegador debe almacenar hasta la fecha de expiracion de cada archivo.
¿Qué es Gzip y como impacta su uso en mi aplicacion?
La palabra viene de GNU zip y permite comprimir (no confundir con zip, gzip comprime pero no archiva). Basicamente lo que hace es devolver el contenido que nosotros establecemos comprimido, de esta manera reducimos la cantidad total de descarga, por lo tanto menos ancho de banda y menos tarda en cargar el sitio.
¿Qué es Etag y por que lo debo deshabilitar?
El Etag es otro metodo de comprovacion que tiene el navegador para ver si el archivo que tiene cacheado (guardado) es el mismo que el que esta tratando de enviar el servidor. Al desactivar que los archivos tengan Etag el navegador los vera todos iguales y sólo se guiará por si el archivo fue modificado o no.
#Directivas para fecha de expiracion¿En que caso me conviene usar este htaccess?ExpiresActive On ExpiresByType text/html "access plus 1 seconds" ExpiresByType image/gif "access plus 2 years" ExpiresByType image/jpeg "access plus 2 years" ExpiresByType image/png "access plus 2 years" ExpiresByType text/css "access plus 2 years" ExpiresByType text/javascript "access plus 2 years" ExpiresByType application/x-javascript "access plus 2 years" #Directivas para Comprimir el contenido #fijense como incluyo los mime tyoes q empiezen con text y excluyo #las imagenesmod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^css/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^images/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* #cache control, recordar max-age mas grande cuanto mas estatico es. #para archivos dinamicos max-age bien bajo#deshabilitar el famoso ETag Header set Cache-Control "max-age=2592000, public" Header set Cache-Control "max-age=604800, public" Header set Cache-Control "max-age=216000, private" Header set Cache-Control "max-age=216000, public, must-revalidate" Header set Cache-Control "max-age=1, private, must-revalidate" Header unset ETag FileETag None
Es aconsejable usar siempre estas directivas, aunque seguramente deberás meter mano para adaptarla a tu servidor. Lo importante es que siempre tengas en mente, que los archivos estaticos deberan tener fecha de expiracion lejana, que vengan gzipeados (imagenes no) y el cache control que especifique un max age mayor para archivos estaticos, y recuerda excluir a los archivos que se carguen dinamicamente o que cambien con mucha frecuencia. ¿Hay otros metodos para mejorar la velocidad? Claro que si, por ejemplo puedes leer este articulo de maxi, donde explica la importancia de los CDN y como obtener uno gratis en google.
Si todavia quieres leer más al respecto, te recomiento http://developer.yahoo.com/performance/rules.html
Comentarios(1)
Daniel (20-03-2009)
Gracias Lauta! me sirvio mucho el» ver comentario

















![Validate my RSS feed [Valid RSS]](/img/valid-rss.png)
