HTTP/1.1, HTTP/2 et HTTP/3 en bref
Les trois versions transportent le même contenu, mais avec une efficacité différente. Les navigateurs négocient eux-mêmes la meilleure version commune ; ton serveur doit seulement la proposer.
- HTTP/1.1 envoie les requêtes d’une connexion l’une après l’autre ; les navigateurs ouvrent donc plusieurs connexions en parallèle.
- HTTP/2 regroupe toutes les requêtes dans une seule connexion TLS (multiplexage) et compresse les en-têtes. La prise en charge se décide lors de la négociation TLS via ALPN – c’est exactement ce que demande le test.
- HTTP/3 ne passe plus par TCP mais par QUIC sur le port UDP 443. Un paquet perdu ne bloque plus tous les autres, et les connexions survivent au passage du Wi-Fi au réseau mobile. Cela aide surtout sur les réseaux de mauvaise qualité.
Comment un navigateur trouve-t-il HTTP/3 ?
Un navigateur se connecte toujours d’abord en TCP. Ce n’est que si le serveur propose HTTP/3 dans l’en-tête Alt-Svc: h3=":443" qu’il essaie QUIC la fois suivante. L’offre peut aussi figurer dans l’enregistrement DNS de type HTTPS, ce qui fonctionne dès la première visite. Sans l’un ou l’autre, un serveur QUIC fonctionnel reste inutilisé. Si HTTP/3 est annoncé mais l’UDP 443 bloqué, le navigateur revient à HTTP/2 et perd du temps.
Comment l’outil vérifie-t-il HTTP/3 ?
Il envoie au port UDP 443 un paquet QUIC avec un numéro de version volontairement inconnu. Tout serveur QUIC doit répondre avec la liste de ses versions (RFC 9000). Cela prouve qu’un serveur QUIC écoute vraiment et qu’il n’est pas seulement annoncé. Sans réponse, c’est presque toujours un pare-feu, un groupe de sécurité ou une redirection de port UDP manquante.
Vérifie les en-têtes de sécurité du même site avec la vérification des en-têtes et le certificat avec la vérification SSL.
FAQ
Ai-je vraiment besoin de HTTP/3 ?
Non, HTTP/2 est déjà un grand pas pour la plupart des sites. HTTP/3 aide surtout sur mobile et sur les réseaux avec perte de paquets. Si ton serveur web ou ton CDN le propose sans effort, cela vaut le coup.
Mon serveur annonce HTTP/3 mais le test ne trouve pas de serveur QUIC. Pourquoi ?
HTTP/3 passe par le port UDP 443. Si seul le TCP 443 est ouvert – pare-feu, groupe de sécurité cloud ou redirection de ports Docker –, le paquet QUIC n’arrive pas. Ouvre aussi 443/udp.
Pourquoi mon navigateur affiche-t-il encore HTTP/2 ?
Les navigateurs n’apprennent HTTP/3 que par l’en-tête Alt-Svc de la première réponse. Recharge la page. Les outils de développement (Réseau, colonne « Protocole ») afficheront alors h3.
Apache prend-il en charge HTTP/3 ?
Non. Apache gère HTTP/2 via mod_http2 ; pour HTTP/3, il faut un reverse proxy comme Caddy ou nginx devant, ou un CDN.
Le test charge-t-il mon serveur ?
Non. Il y a une négociation TLS, deux requêtes d’en-têtes sans contenu et un ou deux paquets UDP.