Arturo Navarro Growth Hacker

Nota previa: Este post es parte de la serie: La guía definitiva de WPO, si aún no les el artículo anterior puede que te sea complementario.

Espero poder resolver claramente las dudas sobre la compresión de un sitio web y si no resulta así, seguro me daré el tiempo de contestar un email.

Puede sonar bastante complejo, sobre todo porque es una actividad que debe realizarse del lado del servidor, pero en sí, consiste en comprimir los archivos de nuestro sitio web, código, imágenes, etc. para que el servidor lo envíe así por la red y el cliente lo descomprima para así mostrarlo al usuario (ojo, cuando en este contexto decimos CLIENTE nos referimos al navegador, el proceso es el siguiente: el cliente hace un requerimiento de archivos, en este caso la página web, al servidor y el servidor da una respuesta enviando los archivos solicitados (los elementos de la página).

cliente a servidor

3 razones para habilitar la compresión gzip

 

Seguramente se preguntarán: ¿y cómo hago la compresión gzip? Sería injusto pedirles que configuren el servidor web para esta compresión, aunque quizá sea algo sencillo de hacer, meterse con un servidor puede dar miedo para quienes no están familiarizados. De cualquier manera, deben tener la información, para que puedan saber qué se debe hacer y comunicarlo con su técnico de TI de confianza.

¿Qué tipo de servidor tengo, Apache, Nginx o IIS?

Lo primero que debo saber es qué tipo de servidor tengo, ya que depende del sistema de cada el método que debemos implementar.

 

Si tu servidor es Apache

servidor apache

Si tu servidor es Apache deberías usar el método mod_deflate. Este es un módulo que habilita un filtro de salida DEFLATE, que permite comprimir antes de ser enviado al cliente por la red. Aquí la URL del sitio oficial de Apache donde pueden seguir las instrucciones de habilitación. http://httpd.apache.org/docs/current/mod/mod_deflate.html

Hace falta meterse un poco en las comunicaciones HTTP, que es el protocolo que se utiliza. Como ya lo comentamos, cuando un cliente hace una petición al servidor, el servidor envía los archivos. Para que lo anterior suceda, el servidor y el cliente se envían ciertas informaciones de control en las cabeceras HTTP. Cuando el cliente envía una solicitud también está enviando en las cabeceras un código de control (es una variable llamada “accept-encoding”), para decir si acepta o no el envío de archivos comprimidos, en realidad envía mucha más información, pero para este tema sólo nos interesa esta información. Como todos los navegadores aceptan tanto la compresión gzip como el Deflate en las cabeceras HTTP de la solicitud encontraremos la siguiente cadena que quiere decir que el navegador acepta el formato de compresión y el de Deflate:

deflate mode

 

 

El servidor también envía una en las cabeceras una variable para decir si finalmente se comprimieron o no los archivos de respuesta y el formato con el que se codificaron:

encoding deflate

Si tu servidor es Nginx

Nginx servidor

Si usas Nginx, otro servidor muy usado para web, deberás utilizar este módulo que hace prácticamente lo mismo que el Deflate. A continuación les dejo un ejemplo de configuración para Nginx y la URL del sitio oficial para consultar variables extras:

 

gzip deflate

http://nginx.org/en/docs/http/ngx_http_gzip_module.html

 

Si…¡diablos!, tu server es IIS

IIS server

No es tan dramático, pero si requieres más apoyo. Afortunadamente, cuando se utiliza un servidor IIS suele existir un equipo especializado encargado.  Para hacer este proceso se necesitan algunos pre requisitos y después realizar algunos procedimientos. Lo mejor es dejar esta tarea en manos de los administradores del server y les pueden regalar esta guía.

https://technet.microsoft.com/en-us/library/cc771003(v=WS.10).aspx

Te recomiendo leer el siguiente artículo de esta serie:

Como eliminar el javascript que bloquea la visualizacion y el css de la mitad superior de la pagina-parte-1

Te invito calificar el contenido y a seguirme en Twitter.

[yasr_visitor_votes]