HTTP/3
HTTP/3 is de derde hoofdversie van het protocol dat het internet aandrijft. Waar HTTP/2 een evolutie was – dezelfde HTTP, snellere levering – is HTTP/3 een herontwerp van het transport, dat via QUIC loopt in plaats van TCP+TLS. Het is sinds 2022 de standaard voor grote sites en zorgt stilletjes voor het grootste deel van het verkeer dat gebruikers nu als ‘snel’ beschouwen.
De volledige artikeltekst vindt u hieronder in het Engels.
HTTP/3 is HTTP via QUIC – het webprotocol van de volgende generatie dat de TCP+TLS+HTTP/2-stack vervangt door een enkel geïntegreerd, op UDP gebaseerd ontwerp. Het werd in 2022 gestandaardiseerd in RFC 9114 en is nu het standaardprotocol voor de meeste grote sites, waaronder Google, Cloudflare, Meta en Microsoft-eigendommen.
De HTTP-versiegeschiedenis
A snelle referentie:
- HTTP/0.9 (1991): verzoeken van één regel, geen headers, nee metagegevens. Alleen historisch belang.
- HTTP/1.0 (1996): headers, meerdere methoden, MIME-typen. Elk verzoek om een nieuwe TCP-verbinding.
- HTTP/1.1 (1997, herzien 2014): persistente verbindingen, pipelining, hostheaders. Al twintig jaar het werkpaard van het internet.
- HTTP/2 (2015): binair protocol, headercompressie (HPACK), streammultiplexing, serverpush. Draait via TLS via TCP.
- HTTP/3 (2022): draait via QUIC via UDP. Elimineert TCP-head-of-line-blokkering, snellere handshake, ondersteunt verbindingsmigratie.
Wat HTTP/3 opgelost
Trie specifieke HTTP/2-problemen waren de drijvende kracht achter het nieuwe ontwerp:
- Transport-layer head-of-line-blokkering. HTTP/2 multiplext veel streams via één TCP-verbinding. Wanneer een pakket verloren gaat, blokkeert TCP de gehele verbinding totdat het verloren pakket opnieuw wordt verzonden, ook al had slechts één stream dat pakket nodig. De betrouwbaarheid per stream van QUIC elimineert dit.
- Meerdere round-trip setup. TCP-handshake + TLS-handshake = 3 round-trips voordat HTTP kan stromen. QUIC voegt ze samen tot 1 retour (0 in sommige 0-RTT-gevallen). Bij een latentieverbinding van 100 ms is dat een verbetering van de paginalading met 200-300 ms.
- Verbinding verbroken bij netwerkwijziging. Als u overschakelt van Wi-Fi naar mobiel, wordt elke TCP-verbinding verbroken. QUIC-verbindingsmigratie overleeft de overstap door de verbinding te identificeren met een verbindings-ID in plaats van het 5-tuple.
Wat blijft hetzelfde als HTTP/2
Vanuit een toepassingsperspectief lijkt HTTP/3 sterk op HTTP/2:
- Binaire framing
- Multiplexed streams (nu zonder TCP HOL-blokkering)
- Headercompressie (nu QPACK in plaats van HPACK, opnieuw ontworpen om te werken met het streammodel van QUIC)
- Dezelfde HTTP-semantiek — methoden, statuscodes, headers
De applicatiecode die werkte op HTTP/2 werkt op HTTP/3 zonder wijzigingen; de verschillen zitten volledig in het transport.
Hoe een browser HTTP/3
gebruiktServers signaleren HTTP/3-beschikbaarheid via de alt-svc-reactieheader op HTTP/2-reacties. De browser onthoudt "deze oorsprong ondersteunt ook h3 op UDP/443" en gebruikt HTTP/3 voor daaropvolgende verbindingen. Als QUIC faalt (firewall blokkeert UDP, enz.), valt de browser terug naar HTTP/2 via TCP.
Verschillende browsers gebruiken ook DNS HTTPS-records om de beschikbaarheid van HTTP/3 te achterhalen voordat er zelfs maar verbinding wordt gemaakt - waardoor de initiële HTTP/2-retour bij het eerste contact wordt opgeslagen.
Prestaties in de praktijk
De winst is het grootst waar TCP het meest ondervonden:
- Mobiele netwerken met hoog pakketverlies en frequente netwerkwisselingen
- Verbindingen met hoge latentie waar de bespaarde handshake-retour proportioneel van belang is
- Pagina's met veel bronnen waar multiplexing voordelen oplevert compound
Op schone bekabelde verbindingen met een CDN-edge presteren HTTP/3 en HTTP/2 op dezelfde manier. De kloof wordt groter naarmate de omstandigheden verslechteren – precies wanneer gebruikers traagheid opmerken.
Adoptie
Vanaf eind 2025:
- Chrome, Firefox, Safari, Edge gebruiken allemaal standaard HTTP/3 wanneer de server dit aanbiedt.
- Cloudflare, Google, Fastly, Akamai, AWS CloudFront, Microsoft, Meta bedienen HTTP/3.
- Ruwweg 30-40% van alle webverzoeken per volume gebruiken HTTP/3.
- Veel bedrijfsnetwerken blokkeren QUIC bij de firewall, waardoor een terugval naar HTTP/2 wordt gedwongen. Dit is de grootste blokkering voor een hogere adoptie.
Wat HTTP/3 niet verandert
HTTP-semantiek is ongewijzigd. Dezelfde caching, contentonderhandeling, voorwaardelijke verzoeken en authenticatiepatronen werken. Webontwikkelaars die applicaties bouwen, hoeven zelden na te denken over welke HTTP-versie in gebruik is; het platform regelt het. De voordelen komen automatisch ten goede aan iedereen wiens oorspronkelijke server en CDN HTTP/3.
ondersteunenVeelgestelde vragen
- Heeft mijn site een aparte HTTP/3-implementatie nodig?
- Als je achter een CDN zit die HTTP/3 ondersteunt (Cloudflare, Fastly, Akamai, CloudFront), is deze er al. Als je rechtstreeks een origin-server draait, heb je een server nodig met HTTP/3-ondersteuning (nginx 1.25+, Caddy, LiteSpeed, h2o). De meeste gebruikers krijgen HTTP/3 door achter een CDN te implementeren.
- Hoe weet ik of een site HTTP/3 gebruikt?
- Het tabblad Netwerk van Browser DevTools toont het protocol per verzoek: "h3" of "http/3" geeft HTTP/3 aan. Online tools zoals http3check.net testen ook willekeurige sites. De adresbalk van de browser laat dit niet zien; het is iets met ontwikkelaarstools.
- Is HTTP/3 altijd sneller?
- Bij verbindingen met verlies of hoge latentie wel. Op een schoon LAN met lage latentie is het verschil vaak ruis. Op netwerken die UDP blokkeren, faalt HTTP/3 volledig en valt terug naar HTTP/2 met extra installatielatentie, wat langzamer is dan het helemaal overslaan van QUIC.
- Wat betekent HTTP/3 voor VPN's?
- Moderne VPN's (WireGuard, OpenVPN) tunnelen UDP en HTTP/3 prima. Sommige oudere of restrictieve VPN-instellingen tunnelen alleen TCP, in welk geval HTTP/3 stilletjes terugvalt naar HTTP/2. Controleer de UDP-ondersteuning van uw VPN als u ongebruikelijke traagheid opmerkt op HTTP/3-sites.
- Zal HTTP/4 bestaan?
- Uiteindelijk waarschijnlijk wel, maar niet snel. HTTP/3 werd pas in 2022 uitgebracht en de adoptie neemt nog steeds toe. Een toekomstige HTTP-versie zou waarschijnlijk voortbouwen op QUIC in plaats van deze te vervangen; QUIC zelf is het interessantere evolutiepunt.