# HTTP/3 y QUIC

> La versión más nueva del protocolo de la web, que corre sobre QUIC en vez de TCP.

- Nivel: Avanzado
- Temas: Redes
- URL: https://tidbit.legios.com.ar/es/http3-and-quic/
- En inglés: [HTTP/3 and QUIC](https://tidbit.legios.com.ar/http3-and-quic/)

Durante treinta años, el tráfico HTTP viajó sobre TCP, el protocolo que garantiza que los bytes lleguen completos y en orden. **QUIC** reemplaza a TCP para la web. Empezó en Google alrededor de 2012 y la IETF lo estandarizó en 2021 (RFC 9000); corre arriba de UDP y reconstruye por su cuenta la confiabilidad, el orden y el control de congestión, en un software que navegadores y servidores pueden actualizar rápido. **HTTP/3** (RFC 9114, 2022) es simplemente HTTP transportado sobre QUIC.

La primera ganancia es el **bloqueo de cabeza de línea** (head-of-line blocking). HTTP/2 ya mandaba muchos archivos a la vez por una sola conexión TCP, pero TCP ve un único chorro de bytes: si se pierde un paquete, todo lo que viene atrás espera, aunque sean datos de imágenes que no tienen nada que ver. QUIC conoce los streams por separado, así que un paquete perdido frena solo al suyo. En redes móviles y Wi-Fi con pérdidas, la diferencia se nota.

La segunda es el tiempo de arranque. TCP más TLS necesitan un par de idas y vueltas antes del primer byte útil; QUIC mete el cifrado (TLS 1.3) en su propio saludo inicial, así que una conexión nueva suele tardar una sola ida y vuelta, y un cliente que vuelve a veces puede mandar datos de entrada (0-RTT, con algunos reparos por ataques de repetición). Casi todo en QUIC va cifrado, incluida buena parte del encabezado que antes inspeccionaban los equipos intermedios.

Tercero, una conexión QUIC se identifica con un **connection ID**, no con la dirección IP y el puerto, así que sobrevive a que tu celular pase del Wi-Fi al 5G. Hoy Chrome, Firefox y Safari hablan HTTP/3, y Google, Meta y Cloudflare sirven buena parte de su tráfico así. El navegador se entera de que un sitio lo soporta por un encabezado `Alt-Svc` o un registro de DNS, y vuelve a HTTP/2 sobre TCP cuando un firewall bloquea UDP.

## Una analogía

Una sola cinta transportadora contra varias cintas separadas. En TCP, si una caja se cae de la cinta, toda la línea para hasta que la vuelven a poner. QUIC le da a cada pedido su propia cinta, así que una caja caída solo demora ese pedido.

## Para quedarse

- HTTP/3 es HTTP sobre QUIC; QUIC corre sobre UDP y reemplaza a TCP más TLS.
- Los streams independientes evitan el bloqueo de cabeza de línea cuando se pierden paquetes.
- Arranque más rápido: una ida y vuelta para conexiones nuevas, 0-RTT para visitas repetidas.
- El connection ID mantiene la sesión al cambiar de red; si UDP está bloqueado, el navegador vuelve a HTTP/2.

## Para seguir leyendo

- [RFC 9000, QUIC (en inglés)](https://www.rfc-editor.org/rfc/rfc9000)
- [HTTP/3 en Wikipedia](https://es.wikipedia.org/wiki/HTTP/3)
- [QUIC en Wikipedia](https://es.wikipedia.org/wiki/QUIC)

## Términos relacionados

- [HTTP](https://tidbit.legios.com.ar/es/http/): El idioma de pedido y respuesta que hablan los navegadores y los sitios web.
- [TCP y UDP](https://tidbit.legios.com.ar/es/tcp-and-udp/): Dos formas de mandar paquetes: TCP verifica que llegue todo, UDP manda y sigue.
- [Bit y byte](https://tidbit.legios.com.ar/es/bit-and-byte/): La unidad mínima de información digital y el grupo de ocho que usan las computadoras.
- [Google](https://tidbit.legios.com.ar/es/google/): La empresa del buscador, que regala casi todo y gana plata con publicidad.
- [Navegador web](https://tidbit.legios.com.ar/es/web-browser/): La app que trae páginas web desde internet y las dibuja en tu pantalla.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [Paquete](https://tidbit.legios.com.ar/es/packet/): El pedacito en que se corta cada dato de internet antes de viajar.
- [Wi-Fi](https://tidbit.legios.com.ar/es/wi-fi/): Red por ondas de radio: internet sin cable, dentro de unas pocas habitaciones.
