En esta entrada comparamos brevemente HTTP vs. HTTP2 y comentamos las ventajas del nuevo protocolo.
El protocolo HTTP ha sido el motor de la red desde su nacimiento, pero, tras casi treinta años de uso intensivo de internet, los requisitos cada vez más sofisticados de la infraestructura digital han hecho que se esté quedando anticuado. De ahí que en los últimos años haya surgido la tecnología HTTP/2, una alternativa que está empezando a ganar terreno entre los webmasters. A continuación, aclaramos algunas de las dudas más habituales en cuanto a HTTP2 vs. HTTP1.
Limitaciones del protocolo HTTP tradicional
Como ya os explicamos hace un tiempo, la última vez que se había actualizado el protocolo HTTP fue en 1999, con el llamado HTTP 1.1. Desde entonces, el volumen de tráfico en internet, así como la cantidad de recursos necesarios para las webs comunes (imágenes, CSS, fuentes, vídeos, scripts, etc.), ha aumentado de manera exponencial. El resultado es la multiplicación de las páginas que tardan siglos en cargar y a las que finalmente no se puede acceder.
Teniendo esto en mente, los desarrolladores y expertos en SEO han ido encontrando técnicas para evitar hasta cierto punto estos inconvenientes, como la minificación, la carga diferida, el almacenamiento en caché o el domain sharding (utilizar subdominios para paralelizar la carga de contenidos).
Sin embargo, ninguna de estas soluciones es plenamente satisfactoria. De hecho, la paralelización de la carga de contenidos, por ejemplo, puede llegar a perjudicar el rendimiento de nuestra web, ya que se crean más conexiones TCP y se realizan acciones DNS innecesarias (si bien esto dependerá de la cantidad de recursos solicitados por dominio y del peso de cada uno).
Principales ventajas del protocolo HTTP/2
Visto lo anterior, no es de extrañar que los programadores web llevaran años buscando una alternativa más «actual» a HTTP 1.1. Finalmente, en 2015 se presentó HTTP 2.0, basado en un desarrollo anterior presentado por un grupo de expertos de Google. Aunque, como decíamos, la baza principal del nuevo protocolo es la velocidad, también presenta otros beneficios:
- Mayor velocidad de carga. Aunque en HTTP 1.1 se pueden realizar múltiples peticiones a la vez, lo normal es que solo se pueda atender una tras haber completado la anterior. HTTP/2 soluciona este problema con el multiplexado, por el que todas las peticiones se amalgaman y se envían al navegador en una sola conexión. Esto representa una mejora muy considerable para la velocidad de carga, que puede aumentar entre un 39 y un 55 %, en función de la página web (para hacerte una idea, puedes ver esta demo de HTTP/2).
- Mejora del posicionamiento web. Aunque los algoritmos de Google no tienen en cuenta si una web está preparada en HTTP/2 o no, lo que sí es sabido es que recompensan a los sitios que «mejor experiencia le ofrecen al usuario». Bajo este concepto incluyen como de rápido se cargan las páginas; por lo tanto, podemos deducir que usar HTTP/2 tendrá un efecto positivo en el SEO de nuestro blog o tienda en línea.
- Priorización automática. Hasta ahora, los ficheros de un sitio web debían cargarse según un orden concreto, lo que siempre podía dar pie a problemas, tanto en la visualización como en el funcionamiento (por ejemplo, si el JavaScript o el CSS se cargaban demasiado tarde). Sin embargo, con HTTP/2 todas las peticiones se transmiten en una única conexión y el navegador es el que determina la prioridad de cada tipo de fichero. Es decir, menos trabajo de programación y mayor eficacia.
- Menos consumo de banda ancha. El nuevo protocolo comprime todos los encabezados y los manda por una conexión única. Dado que pesan bastante menos, ahorran banda ancha. Además, los encabezados, binarios en vez de textuales como eran en HTTP1.1, son menos susceptibles a errores y se cargan antes.
- Presentación inmediata. Con HTTP/2, el servidor se pone en funcionamiento por iniciativa propia enviando información al usuario antes incluso de que la solicite. Es lo que se llama server push o push a la caché de los navegadores. Con HTTP 1.1, en cambio, los ficheros solo se cargaban una vez que el navegador los recuperaba del servidor.
Cómo habilitar HTTP/2 en tu página web
Lo mejor del nuevo protocolo es que es compatible con la versión 1.1, lo que significa que pasar tu web a HTTP/2 no puede estropearla ni dañarla de ningún modo. No obstante, para beneficiarte al máximo de esta mejora, es necesario tener presente algunos puntos.
Por un lado, es necesario activar un certificado SSL en todas las páginas que componen el sitio web, ya que, en caso contrario, el protocolo no funcionará. Deberás repasar, pues, que no haya contenido mixto, es decir, que no se siga sirviendo nada en HTTP. Para ello, deberás comprobar que las rutas de las imágenes, los enlaces permanentes, las redirecciones, etc. están en HTTPS (si tienes una página WordPress, encontrarás todo esto en el archivo de configuración wp-config.php y en el archivo .htaccess).
Por otro lado, es necesario que los servidores del alojamiento web estén preparados para HTTP/2. En los planes de hosting de Nominalia, por ejemplo, la funcionalidad HTTP/2 viene incorporada, además de contar con certificados SSL gratis de Let’s Encrypt.
Por último, vale la pena recordar que, si activas HTTP/2, los trucos para saltarse las restricciones del protocolo HTTP/1.1 no solo habrán quedado obsoletos, sino que pueden ser contraproducentes.
Por ejemplo, como decíamos antes, la compresión, combinación y carga asíncrona de archivos CSS y JavaScript es una práctica muy común. Sin embargo, en HTTP/2, lo único que se consigue es emplear recursos y procesos innecesariamente, y, por tanto, perjudicar el rendimiento. De igual modo, el sharding está totalmente desaconsejado, porque fuerza más consultas de DNS.
En definitiva, si utilizas alguna de estas técnicas, lo más conveniente para HTTP/2 es deshabilitarlas y emplear únicamente el dominio principal con SSL.