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.

Last updated