Podcast de Redes de Eduardo Collado

Podcast de Redes de Eduardo Collado


HTTP/3 y QUIC

May 03, 2020

Introducción a HTTP

¿Qué es HTTP/3 y QUIC?, en este audio le dedico media hora para que puedas conocer qué es HTTP/3 y QUIC.

En 1996 se creó HTTP/1 y fue en 2015 cuando se creó HTTP/2, así que tuvimos 19 años entre las dos versiones principales de HTTP, y cuando ya creíamos que eso era inmutable ahora nos vienen con HTTP/3.

De hecho HTTP/3 viene del año 2015, así que tampoco es algo tan nuevo y el soporte en los navegadores está ya muy extendido.

Seguro que sabes que HTTP es un protocolo que funciona sobre TCP, bueno, que funcionaba, ahora iremos entrando en materia.

TCP ya sabéis que es un protocolo sobre IP. IP es el encargado de transportar los paquetes y TCP es el encargado de asegurar que esa conexión existe y de asegurar que esa comunicación se efectúa.

Ya sabes, todo empieza con desafío en 3 vías y todas esas cosas de las que ya he hablado en el podcast alguna que otra vez.

Una vez se ha establecido la conexión se convierte en una conexión totalmente confiable. Ya sabes que si se perdiera un paquete se pediría al origen que lo reenviara.

Y todo esto es maravilloso porque hace que la información que el servidor nos envía después de hacer un GET llegue en un orden concreto y eso es estupendo porque tenemos la información completa.

Al usar TCP puedo asegurar que es así y sabemos en qué orden tenemos que procesar los paquetes, bueno, segmentos porque hablamos de TCP.

Este modo de funcionar nos parece tremendamente obvio, seguro que piensas que claro que es así y tienes razón, pero a ti y a mi nos suena tan obvio y tan lógico porque estamos usando esa forma de trabajar desde hace 30 años.

HTTPS

A día de hoy esto va evolucionando y a día de hoy tengo la impresión que lo que más usamos, con mucha diferencia, cuando navegamos por Internet, este podcast por ejemplo, es una cosa llamada HTTPS.

HTTPS es http seguro, quizás esa sea la visión más simplista que existe y ya deberíamos de decir eso de que HTTPS es TCP + TLS + HTTP. Hemos añadido el Transport Layer Security sobre TCP

Esta aproximación tampoco es muy profunda pero desde luego más que http seguro, y ya es un poco más seria, así que recuerda HTTPS es TCP + TLS + HTTP.

Añadir TLS lo que hace es generar otro handshake, la misma filosofía que el desafío en 3 vías, para establecer la conexión TLS encima de TCP. Esto simplemente tenlo en la cabeza, sin más, pero eso es lo que nos añade la famosa seguridad, bueno y la privacidad también.

Por eso que te acabo de contar se dice que HTTPS es HTTP seguro, bueno, si no lo sabías, ahora ya sabes de donde viene la S.

Fíjate que cosa más buena, ahora puedo consultar una web que me da unos datos y nadie en medio puede leerlo porque el TLS se ha establecido entre tu ordenador, móvil o lo que sea, y el servidor.

HTTP/1.1

Volviendo al tema que me voy, el primer cambio realmente significativo en HTTP vino con la versión HTTP/1.1, en el año 1999.

Hasta 1999 cualquier conexión HTTP era secuencial, es decir, no se podía transmitir el siguiente elemento hasta que no terminara con el que estaba, eso era terrorífico.

Las webs en aquella época tampoco es que fueran muy sofisticadas, pero transmitir de forma secuencial en un sólo hilo no es lo más eficiente.

Así pues en 1999 con la versión 1.1 de HTTP ya se podían abrir varias conexiones TCP en ...