HTTP3, Así Es La Tecnología Que Cambiará La Forma En La Que Navegamos Por Internet
HTTP, o el Protocolo de Transferencia de Hipertexto por su nombre en español, es el protocolo de red usado en todo el mundo para visitar la World Wide Web. Ha habido una gran variedad de versiones, incluyendo HTTP/1.2, que estuvo vigente 15 años hasta que llegó HTTP/2 en mayo de 2015. Ahora, llega HTTP/3, que viene cargado de novedades para mejorar Internet.
Cómo hemos llegado hasta HTTP/3
La concepción de HTTP/3 arrancó en 2012, pero no fue hasta noviembre de 2018 cuando se le dio ese nombre. Ese mes, el Internet Engineering Task Force (IETF) se reunió en Bangkok para definir el protocolo de transporte QUIC, el sucesor de HTTP/2 que hasta entonces llamaban HTTP-over-QUIC, y que fue renombrado como HTTP/3. El IETF es el encargado de definir los estándares de los protocolos que se usan en la red, siendo una institución abierta que une a la industria de Internet y discute cuál es el camino que ha de seguir.
Google ha jugado un papel clave en la creación de este protocolo, y es la segunda vez que esto ocurre porque la compañía desarrolló de forma experimental SPDY (leido como speedy), que luego acabó convirtiéndose en la base de HTTP/2. Este protocolo es hoy en día usado por el 34% de las páginas web de todo el mundo, y es soportado por todos los navegadores web actuales. HTTP/2 fue responsable de algunas mejoras que redujeron el número de peticiones en la red, aumentando la velocidad a las que éstas cargaban gracias al pipelining o al multiplexing, haciendo este último que varios canales de información vayan a través de una única conexión TCP.
Sin embargo, los navegadores que lo implementaron hicieron que un requisito indispensable para hacer que las webs fueran compatibles con él es que usasen cifrado con SSL. Esto ha reducido alguno de los beneficios de velocidad que introducía, ya que el cifrado genera una carga adicional, haciendo que incluso algunas webs cargasen más lentamente que antes de pasarse a HTTP/2.
Entendiendo TCP y UDP
HTTP/3 reescribe el protocolo HTTP, que ahora en lugar de estar basado en TCP, está basado en QUIC, que a su vez es un acrónimo de Quick UDP Internet Connections. Este nuevo protocolo, por tanto, usa UDP como base en lugar de TCP, aunque la idea es que acabe reemplazando a ambos.
El protocolo IP es la capa que rige todas las comunicaciones de la red, y TCP (Transmission Control Protocol) es una parte importante de él, siendo necesario para la web, emails, FTP, etc. Para realizar las conexiones, es necesario que haya handshakes, feedback y un ir y venir constante de información entre el receptor y el emisor (nuestro PC y una web, por ejemplo). Esto hace que se genere una gran carga adicional y aumente el tiempo que tarda la información en llegar, habiendo una redundancia excesiva que se amplifica si la web a la que intentamos acceder está lejos. Esto hace que, aunque una petición a una web china tarde 200 ms, la carga de la web entera tarde varios segundos. TCP forma parte del protocolo IP desde los años 70, y por ello es muy difícil sustituirlo.
Por su parte, UDP (User Datagram Protocol) también forma parte del protocolo IP, y se implementó en 1980. Con él, no es necesario que haya handshakes ni elementos adicionales que busquen garantizar que la información ha llegado al destino. De la integridad de los datos y de que ha llegado a donde debe se encarga a la capa de aplicación.
UDP está igual de extendido que TCP gracias a su antigüedad en los dispositivos con conexión a Internet. Actualmente se usa para sincronizar la hora por Internet, aplicaciones VoIP, sistemas de DNS, streaming de vídeo, y para el protocolo DHCP.
Qué hace HTTP/3 y cuáles son sus ventajas
Aquí es donde entra HTTP/3, o QUIC, que es como se le ha conocido desde su concepción en 2012 por parte de Google hasta 2018 cuando pasó a ser llamado HTTP/3. Este nuevo protocolo redefine los límites de las capas de red basándose en un protocolo UDP de más bajo nivel, redefiniendo los handshakes, funciones de fiabilidad y las funcionalidades de seguridad.
HTTP/2 introdujo algunas mejoras de velocidad, pero estaba limitado por TCP. Así, aunque varios canales de información vayan a través de una única conexión TCP, si se pierden paquetes, es necesario esperar a que se retransmitan los paquetes enteros de nuevo.
Con QUIC, basado en el protocolo sin conexión UDP, si se pierde un paquete, sólo se afecta al canal de datos en el que estaba, mientras que los otros pueden continuar sin tener que esperar a los otros.
Entre las principales ventajas que encontramos es que es más rápido y más seguro, ya que viene cifrado por defecto usando el protocolo TLS 1.3. La mejora de la velocidad llega gracias a que se reduce la latencia y la repetición. Por ejemplo, donde actualmente teníamos una latencia de 300 ms para acceder a una página web, ahora con HTTP/3 la latencia es de sólo 100 ms. En visitas recurrentes, la latencia pasa de 100 a 0 ms.
Al ser Google quien ha desarrollado QUIC, servicios como Chrome, YouTube, Gmail o el propio buscador estaban ya en disposición de usar HTTP/3 en 2017. Eso sí, la IETF hizo dos cambios. El primero es que QUIC no debe estar limitado al tráfico HTTP, aunque de momento así lo va a ser. Lo segundo es que el cifrado que habrá de usarse es TLS 1.3 en lugar de la solución propietaria que Google había creado. A pesar de ello, Google todavía está usando su propia versión en sus servicios hasta que decida hacer el cambio.
Como vemos, el cifrado es una parte muy importante de HTTP3, ya que en él ninguna conexión volverá a ir en texto plano o sin cifrar por la red, evitando tener que añadir una capa adicional de seguridad con HTTPS.
Cómo probar HTTP/3 en Google Chrome
Google Chrome se ha convertido en el primer navegador en integrar HTTP/3 de manera nativa. Gracias a ello, ya podemos comprobar las mejoras de velocidad en las páginas web compatibles. La función todavía está en fase experimental, pero al menos tenemos la opción de probarlo.
Para ello, tenemos que instalar Google Chrome Canary, y crear un acceso directo en el escritorio. Al acceso directo hay que añadirle al final de la ruta los siguientes parámetros (aseguraos de que hay dos guiones en lugar de uno delante de enable y del segundo quic, ya que a veces pueden juntarse en vuestro navegador):
–enable-quic –quic-version=h3-23
Una vez lo hayamos hecho, visitamos la web quic.rocks:4433 para ejecutar una demo que sólo es compatible con HTTP/3. Si lo hemos hecho de forma correcta, nos aparecerá un mensaje al respecto cuando entremos a la web. En el caso de que no nos funcione, también podemos probar el blog de Cloudflare en blog.cloudflare.com. Para verlo, hay que pulsar F12, vamos a Network, hacemos click derecho en las columnas, y activamos Protocol. Ahí veremos que algunos elementos se han cargado a través de QUIC.
Como ocurre con la mayoría de tecnologías, el uso de este nuevo protocolo todavía es algo experimental y muy lejos de estar extendido. Sin embargo, poco a poco irá extendiéndose a más páginas web para mejorar la velocidad en general de todo Internet. Mozilla lo implementará más adelante en Firefox, al igual que Microsoft en Edge.
Via: www.adslzone.net