HTTP neemt afstand van TCP in volgende versie

De volgende versie van het Hypertext Transfer Protocol (HTTP) maakt een significante breuk met het verleden. Versie 3 steunt niet langer op TCP (Transmission Control Protocol), maar zal gebruik maken van UDP (User Datagram Protocol). We leggen uit wat dat betekent.

De huidige versies van HTTP (1.0, 1.1 en 2) steunen allemaal op TCP voor een betrouwbare, gestructureerde en foutloze verzending van data over een IP-netwerk. Betrouwbaar omdat de ontvanger kan detecteren of gegevens verloren zijn gegaan tijdens de verzending en kan vragen om de data opnieuw te versturen. Gestructureerd omdat de data wordt ontvangen in dezelfde volgorde zoals ze werd verstuurd. Foutloos omdat elke vorm van datacorruptie tijdens de verzending kan worden gedetecteerd.

Die eigenschappen van het TCP-protocol zijn onmisbaar voor een goede werking van HTTP-verkeer. TCP is evenwel niet speciaal aangepast voor HTTP. Het is een one-size-fits-all-protocol, dat kan worden gebruikt voor alle soorten toepassingen. Een voorbeeld verduidelijkt. TCP vereist een aantal round-trips tussen client en server om een verbinding op te zetten. In geval van HTTPS, waarbij SSL wordt toegevoegd voor een versleutelde verbinding, zijn nog een paar extra round-trips nodig. Dat heeft een impact op de netwerklatency.

QUIC

Een protocol dat speciaal voor HTTP is ontwikkeld, zou dit kunnen optimaliseren om de netwerksnelheid te verhogen. Dat is precies wat Google probeert met de ontwikkeling van ‘Quick UDP Internet Connections’ (QUIC). QUIC laat TCP varen ten voordele van UDP, dat over totaal tegenovergestelde eigenschappen beschikt. Het is onbetrouwbaar en ongestructureerd, maar ook eenvoudig. Nieuwe protocollen zijn daarom vaak op UDP gebouwd.

QUIC introduceert de bertrouwbaarheid en structuur van TCP in UDP zonder dat daar zoveel extra round-trips voor nodig zijn. Als een client opnieuw verbinding maakt met een server, kunnen de nodige encryptiegegevens al bij het eerste datapakketje worden meegegeven. De server kan de oude verbinding dan weer herstellen met dezelfde encryptie, zonder dat extra round-trips nodig zijn.

Standaardisering

De Internet Engineering Task Force (IETF), de organisatie die netwerkprotocollen ontwerpt en beheert, is momenteel bezig aan een gestandaardiseerde versie van QUIC. Daarnaast ontwerpt het ook een versie van HTTP gebaseerd op het protocol. Die werd oorspronkelijk HTTP-over-QUIC gedoopt, maar zal binnenkort wellicht als HTTP/3 door het leven gaan.

HTTP-over-QUIC is immers niet zomaar een geüpdatete versie van HTTP/2 die over QUIC loopt. Het is een volledig vernieuwde HTTP-versie in zijn eigen recht, met QUIC als een essentieel onderdeel van zijn ontwerp.