HTTP/2 es una importante actualización de la norma HTTP, destinada a mejorar la velocidad y la seguridad de las interacciones cliente-servidor en Internet. HTTP/2 añade varias funciones nuevas al tiempo que mantiene la compatibilidad con versiones anteriores, de modo que los navegadores y servidores que no admiten HTTP/2 siguen funcionando sin problemas, mientras que los que sí lo hacen pueden aprovechar las mejoras de rendimiento.
El principal objetivo de las mejoras de HTTP/2 es la velocidad. Una de las limitaciones de HTTP/1 es que solo permite una solicitud de recurso a la vez en una conexión determinada. Para minimizar los tiempos de carga de páginas web, que suelen estar compuestas por múltiples imágenes, scripts y hojas de estilo, los navegadores abren varias conexiones HTTP/1 simultáneamente para solicitar recursos en paralelo, lo que conlleva una considerable sobrecarga por cada conexión. HTTP/2 soluciona este problema utilizando conexiones multiplexadas, permitiendo transmitir múltiples recursos a través de una única conexión, lo que reduce significativamente el número de conexiones entre clientes y servidores web.
HTTP/2 también aprovecha ampliamente la compresión, lo que mejora el rendimiento al reducir el uso de ancho de banda. En HTTP/2, los encabezados se envían como datos binarios comprimidos en lugar de como texto plano legible por humanos. Este ahorro significativo de ancho de banda compensa el pequeño aumento en la carga de la CPU necesario para comprimir y descomprimir los encabezados, así como la inconveniencia de que los usuarios humanos no puedan leerlos directamente (por ejemplo, para fines de depuración).
HTTP/2 también introduce la priorización de recursos para mejorar la experiencia del usuario en la carga de páginas. Ahora, los navegadores web y otros clientes pueden indicar el orden en que desean recibir los recursos. Los navegadores que admiten adecuadamente HTTP/2 pueden representar las páginas mucho más rápido al priorizar los recursos que el usuario necesita ver primero. Las primeras pruebas de rendimiento de HTTP/2 han demostrado que algunas páginas pueden cargarse casi el doble de rápido.
Aunque HTTP/2 no modificó explícitamente los requisitos de seguridad para HTTP, casi todos los navegadores que utilizan HTTP/2 exigen que SSL/TLS esté activado en el sitio web, lo que lo hace obligatorio a todos los efectos. Dado que HTTP/2 utiliza una única conexión multiplexada por cliente, el coste de la seguridad de los sitios web se ha reducido considerablemente. En lugar de realizar un proceso de intercambio SSL/TLS (en el que clientes y servidores verifican identidades e intercambian claves de cifrado) para cada una de las múltiples conexiones abiertas por un navegador, se realiza este intercambio una sola vez durante toda la duración de la sesión del cliente.
NGINX Plus
Es probable que HTTP/2 y TLS mejoren el rendimiento de su sitio y brinden a los usuarios la confianza de que su interacción con el sitio es segura. Ya sea que esté implementando HTTP/2 por primera vez o alcanzando a sus competidores, le recomendamos ver esta charla de conferencia para obtener un análisis detallado de las características, ventajas y desventajas de HTTP/2.