Está sucediendo una importante transformación en la infraestructura web: una nueva versión del protocolo HTTP (Hypertext Transfer Protocol, Protocolo de Transferencia de Hipertexto) se está implementando gradualmente. Definido en el documento RFC 91141 por el IETF (Internet Engineering Task Force**, Grupo de Trabajo de Ingeniería de Internet) la organización encargada de crear y mantener los estándares en los que se basa la internet moderna, HTTP/3 aporta notables mejoras en el rendimiento en comparación con sus predecesores, además de una mayor seguridad.
En este artículo, discutiremos algunos de los cambios en HTTP/3 y cómo las complejas aplicaciones modernas que hacen un uso intensivo de datos, como aquellas que se ejecutan en plataformas de Edge Computing, pueden beneficiarse de ellos.
Una visión general de QUIC
HTTP/3 se basa en un nuevo protocolo de capa de transporte llamado QUIC, originalmente desarrollado por Google. De hecho, el protocolo solía conocerse originalmente como “Semántica HTTP/2 utilizando el protocolo de transporte QUIC”.
El uso de QUIC en lugar de TCP (Transmission Control Protocol, Protocolo de Control de Transmisión), el protocolo de red utilizado en versiones anteriores, es el cambio más importante en HTTP/3 y el principal responsable de las mejoras en velocidad y desempeño de las que hablaremos a continuación**.**
¿Qué aporta HTTP/3 a tus aplicaciones y servicios?
HTTP/3 brinda un mejor desempeño
El uso de un protocolo más eficiente como QUIC reduce la cantidad de tráfico adicional necesario para establecer y mantener conexiones, lo que significa un menor consumo de ancho de banda y potencia de procesamiento. Esto puede mejorar significativamente el desempeño, especialmente para aplicaciones que realizan muchas solicitudes HTTP pequeñas, reduciendo el costo de la ejecución de aplicaciones web y mejorando la experiencia del usuario.
HTTP/3 también elimina un problema conocido como bloqueo de cabecera de línea (head-of-line blocking), donde una solicitud que tarda en ser respondida bloquea el procesamiento de otras que están detrás de ella. Esto se logra mediante el uso de una técnica llamada multiplexación de flujos, que permite que múltiples solicitudes HTTP se procesen en paralelo, incluso si algunas son más lentas que otras. La multiplexación ya estaba disponible en HTTP/2, pero algunas limitaciones del protocolo TCP, que se resolvieron en QUIC, impedían aprovechar todo su potencial.
Es difícil señalar ganancias de desempeño específicas en HTTP/3, ya que varían según factores como la arquitectura de tu sitio web o aplicación, dónde se almacena el contenido, las conexiones de red utilizadas para cargarlo e incluso la distancia geográfica hasta el origen. Sin embargo, algunas pruebas indican un aumento de rendimiento de hasta 3 veces2 en la carga de contenido.
HTTP/3 es más seguro
HTTP/3 adopta la versión 1.3 del Protocolo de Seguridad de la Capa de Transporte (TLS 1.3). Utiliza algoritmos criptográficos más seguros, incluyendo la versión más reciente del cifrado AES, lo que significa que es más resistente a los ataques que los algoritmos utilizados en versiones anteriores de TLS.
También elimina algunos recursos que se muestran inseguros, como las extensiones de renegociación y compresión. Los metadatos de la conexión están cifrados, lo que reduce la posibilidad de ataques de Man in the Middle (MiTM), donde los delincuentes pueden interceptar y posiblemente modificar la comunicación entre dos participantes.
TLS 1.3 también introduce una característica que mejora el desempeño, llamada “0-RTT” (tiempo de ida y vuelta cero), que permite que un cliente y un servidor establezcan una conexión de manera más rápida. Esto es posible porque el cliente y el servidor intercambian una clave precompartida, lo que permite establecer una conexión segura sin necesidad de realizar previamente un “apretón de manos” completo**.**
HTTP/3 tiene un mejor soporte para conexiones móviles
Al utilizar UDP y QUIC, HTTP/3 está diseñado para funcionar de manera efectiva sin afectar el desempeño, incluso en entornos con alta pérdida de paquetes y ancho de banda limitado, como las conexiones móviles, donde las conexiones TCP pueden tener un desempeño insatisfactorio.
HTTP/3 también utiliza identificadores de conexión (connection IDs) para garantizar que los paquetes siempre se suministren a los puntos finales correctos, incluso cuando se producen cambios en las capas de protocolo inferiores de la conexión (como cuando cambia la dirección IP de un cliente móvil). Esto permite que la conexión migre de manera transparente a través de direcciones IP e interfaces.
Así, una descarga en curso puede transferirse fácilmente de una conexión a través de la red móvil a una conexión Wi-Fi cuando está disponible, sin que el cliente y el servidor necesiten volver a negociar la conexión cuando se produce el cambio de red. Esto reduce la sobrecarga y mejora la eficiencia.
¿Y en cuanto a la adopción de HTTP/3?
Es importante señalar que la llegada de una nueva versión del protocolo HTTP no significa que el uso de versiones anteriores se detendrá de inmediato, ya que la actualización no es en absoluto obligatoria. Es probable que HTTP/3 coexista con versiones anteriores durante mucho tiempo, pero la adopción está creciendo rápidamente3: los datos de W3Techs indican que el 26,6 % de los 100 millones de sitios web más importantes del mundo ya admiten el nuevo protocolo.
Entre otros factores, esto se debe a que todos los principales navegadores, tanto de escritorio como móviles, ya admiten HTTP/3. Google Chrome y Microsoft Edge habilitaron el soporte por defecto en abril de 2020, y Mozilla Firefox se unió un año después, en abril de 2021. Safari de Apple fue el último en la lista: el soporte se implementó en septiembre de 2020, pero solo se habilitó por defecto en marzo de 2023.
Pero no hay motivo de alarma: si un cliente que no admite HTTP/3 intenta conectarse a un servidor que utiliza el protocolo, la conexión se establecerá automáticamente utilizando HTTP/2. Por lo tanto, no hay desventajas en habilitar el soporte para HTTP/3 en tu servidor o aplicación.
Conclusión
HTTP/3 representa una actualización fundamental de una de las tecnologías que conforman la base de la web moderna, abordando problemas que han afectado a las versiones anteriores durante mucho tiempo.
La moderna plataforma de cómputo en el edge de Azion admite HTTP/3, combinando los beneficios del nuevo protocolo con una menor latencia y alta disponibilidad, abriendo las puertas a una nueva generación de aplicaciones web más rápidas y seguras. No dudes en ponerte en contacto con nuestros expertos para obtener más información.
Referencias
1 RFC 9114 - HTTP/3
2 HTTP/3 is Fast | Request Metrics
3 Usage Statistics of HTTP/3 for Websites, October 2023