edit:Siteground, shared hosting con HTTP/2 y SSL incluidos

Por más de un año llevamos escuchando que HTTP/2 llegará a mejorar el paisaje del internet. Hace algunos meses comienzan a aparecer artículos de grandes compañias sobre sus procesos de migración a HTTP/2, incluso podemos ver el speedtest de Cloudfare respecto a como mejora el cargado de assets externos.

HTTP2 HTTP/2
Todo esto es súper interesante, pero la pregunta que realmente nos preocupa es, ¿cómo me afecta esto a mi?

Primero: Sprites

Los últimos años hemos ido aprendiendo como no basta con hacer que una web se vea bien en todos los dispositivos, o que esté construida con HTML semántico para que Google la recompense en el SEO, sino que debemos además buscar que la web cargue lo más rápido posible para que los usuarios no tengan que esperar por el contenido. Más velocidad = más ventas.

Una de las principales maneras de acelerar un website es disminuyendo los requests que este hace al servidor hasta cargar del todo.

Como frontend developers hemos aprendido a mezclar todos nuestros assets estáticos en sprites, logos e íconos componen la mayoría de estos. De esta manera un solo request era necesario para cargar todos los assets requeridos por la web.

Multiplexing

HTTP/2 incluye multiplexing, que en cristiano significa requests concurrentes, tus assets cargan en paralelo sin que deban esperar a que otros recursos hayan cargado antes.
Dejemos los sprites, carga solo los assets que requiera cada web y gana velocidad por ello.

Segundo: Concatenación de archivos JS y CSS

Debido también al límite de requests simultáneos que soportaba HTTP/1, nos veíamos obligados a concatenar nuestros CSS y JS en un solo archivo. Esto aunque es una buena práctica para reducir requests, es una pésima práctica en tanto al peso de los archivos. Aunque estén minimizados, los archivos CSS y JS solían traer código que no era pertinente a la web que estaba mostrándose en el cliente en ese momento.

Ahora, debido a que es recomendable cargar los assets desde distintas fuentes, podemos volver a generar muchos archivos de CSS y JS de manera sencilla, y cargar en cada página solo aquello que se necesita.

Esto nos gusta particularmente, ya que siempre buscamos desarrollar el CSS de manera que genere el mínimo código necesario y con Sass podemos hacer esto de manera sencilla.

Tercero: Sharding

Esta es una técnica avanzada, pero muy útil cuando queremos ampliar la velocidad de carga al máximo.
Si colocamos nuestros assets en un dominio separado, que no utilice cookies, podemos aprovechar HTTP/2 para aumentar la cantidad de conexiones paralelas y descargar los assets con aún mayor velocidad.

Ok, pero ¿Cómo consigo o uso HTTP/2?

Bueno, si manejas tu propio VPS y tienes nginx, o apache puedes seguir alguna de sus guías de configuración (HTTP/2 on nginx, HTTP/2 on Apache). No olvides que necesitas servir las páginas utilizando certificados SSL, pero eso ya no es un dolor de cabeza gracias a Let’s Encrypt.

En cambio, si sueles ofrecer a tus clientes hostings compartidos, no podemos más que recomendar Siteground, no solo creemos que son el mejor hosting compartido hoy en día, sino que implementan HTTP/2 casi desde el principio y tienen la opción de instalar let’s encrypt en tus dominios en un par de clicks.

¿Tienes alguna otra técnica que apliques a las páginas que desarrollas para servidores con HTTP/2? Cuentanosla!