Pour comprendre la composition du protocole HTTP/3, il faut d’abord comprendre la fonction de QUIC, UDP et du HTTP/2. En effet, le HTTP/3 est par essence un amalgame de ces trois composants. Le nom HTTP-over-QUIC indique que le transfert de données s’effectue par UDP au lieu de TCP.
HTTP/2 utilise TCP, le protocole de transmission le plus utilisé sur Internet. Le protocole TCP gère les connexions via des handshake à plusieurs niveaux et transmet les paquets de données de manière chronologique. Une transmission utilisant le protocole TCP ne se poursuit qu’une fois le paquet transmis et reçu. La transmission est sécurisée par ce qu’on appelle des ACK, c’est-à-dire des confirmations de commande et de livraison et des numéros de test. Dans le protocole TCP, les données transmises contiennent un en-tête avec des paramètres qui aident les processus de l’expéditeur à se connecter aux processus peer du destinataire.
En termes de transmission complète des données, TCP est très fiable, mais s’accompagne cependant « d’embouteillages » de données et de temps de chargement plus longs, car toutes les transmissions s’arrêtent jusqu’à ce que les paquets de données perdus soient transmis avec succès. Avec le HTTP/2, la famille de protocole Internet atteint donc ses limites dans une certaine mesure, car une accélération de la transmission de données est impossible sans nouveau protocole.
Google a donc développé proactivement son propre protocole de transfert : QUIC. QUIC évite les « embouteillages » de données en ayant recours à une transmission UDP sans connexion basée sur les datagrammes. Comme TCP, l’UDP travaille au niveau de la couche de transport, mais renonce à la confirmation expéditeur-destinataire. Les autres flux ne doivent plus attendre la transmission réussie des précédents. Les allers-retours entre client et serveur sont donc considérablement raccourcis. L’IETF a su reconnaître les avantages de ce nouveau protocole et, en 2018, a lancé HTTP-over-QUIC comme successeur du HTTP/2.
Sur le principe, le protocole HTTP reste identique. Il se compose toujours d’un en-tête et d’un corps de message et utilise des verbes, des cookies et la mise en cache. La différence réside dans la manière de transmettre les données et le chiffrement intégré en amont.