# Comparación con HTTP/2

HTTP/3 está diseñado para QUIC, que es un protocolo de transporte que maneja flujos por sí mismo.

HTTP/2 está diseñado para TCP, y por lo tanto maneja flujos en la capa HTTP.

## Similitudes

Los dos protocolos ofrecen a los clientes conjuntos de características prácticamente idénticos.

* Ambos protocolos ofrecen soporte para el push del servidor
* Ambos protocolos tienen compresión de cabecera, y QPACK y HPACK tienen un diseño similar.
* Ambos protocolos ofrecen multiplexación a través de una única conexión utilizando streams

## Diferencias

Las diferencias están en los detalles y principalmente están ahí gracias al uso de QUIC por parte de HTTP/3:

* HTTP/3 tiene un mejor y más probable soporte de datos tempranos gracias a los handshakes 0-RTT de QUIC, mientras que TCP Fast Open y TLS suelen enviar menos datos y a menudo tienen problemas.
* HTTP/3 tiene handshakes mucho más rápidos gracias a QUIC frente a TCP + TLS.
* HTTP/3 no existe en una versión insegura o sin cifrar. HTTP/2 puede ser implementado y utilizado sin HTTPS - aunque esto es raro en Internet.
* HTTP/2 puede ser negociado directamente en un handshake TLS con la extensión ALPN, mientras que HTTP/3 es sobre QUIC por lo que necesita una respuesta de cabecera `Alt-Svc:` primero para informar al cliente sobre este hecho.
* HTTP/3 no tiene priorización. El enfoque de HTTP/2 para la priorización se ha considerado demasiado complicado, o incluso un fracaso, y se está trabajando en la creación de una toma más simple. Este esquema más simple planeado también está planeado para poder ser retroportado para correr sobre HTTP/2 usando el mecanismo de extensión de HTTP/2.
