# Comparaison avec HTTP/2

HTTP/3 est conçu pour QUIC, qui est un protocole de transport qui gère les flux par lui-même.

HTTP/2 est conçu pour TCP et gère donc les flux dans la couche HTTP.

## Similitudes

Les deux protocoles offrent aux clients des ensembles de fonctionnalités pratiquement identiques.

* Les deux protocoles offrent des flux
* Les deux protocoles offrent un support push serveur
* Les deux protocoles ont une compression d'en-tête, et QPACK et HPACK ont une conception similaire.
* Les deux protocoles offrent le multiplexage sur une seule connexion utilisant des flux
* Les deux protocoles établissent des priorités sur les flux

## Differences

Les différences sont dans les détails et principalement là grâce à l'utilisation de QUIC par HTTP/3:

* HTTP/3 a plus de chances de fonctionner plus tôt grâce aux handshakes 0-RTT de QUIC, alors que TCP Fast Open et TLS envoient généralement moins de données et rencontrent fréquemment des problèmes.
* HTTP/3 a des handshakes beaucoup plus rapides grâce à QUIC vs TCP + TLS.
* HTTP/3 n'existe pas dans une version non sécurisée ou non chiffrée. HTTP/2 peut être implémenté et utilisé sans HTTPS - même si c'est rare sur Internet.
* HTTP/2 peut être négocié directement dans un handshake TLS avec l'extension ALPN, alors que HTTP/3 est sur QUIC donc nécessite une réponse d'en-tête `Alt-Svc:` pour informer le client de ce fait.
