ID.nl logo
Alles over het nieuwe internetprotocol HTTP/3
© Reshift Digital
Huis

Alles over het nieuwe internetprotocol HTTP/3

Geen enkele internetgebruiker kan buiten het http-protocol. Dat ligt immers aan de basis van de datacommunicatie binnen het wereldwijde web en ook op lokale netwerken zoals een intranet. Intussen is dit protocol aan versie 3 toe en de ondersteuning hiervoor neemt gestaag toe.

Http staat voor hypertext transfer protocol, een applicatieprotocol dat vanaf 1989 werd ontwikkeld onder aanvoering van Tim Berners-Lee, de ‘vader’ van het wereldwijde web. Het is een client-serverprotocol bedoeld om digitale bronnen op te halen

als html-documenten, maar ook afbeeldingen en video, door middel van afzonderlijke berichten in een request-response-structuur. Aanvankelijk was het bedoeld om over een al dan niet met tls-versleutelde tcp-connectie (Transmission Control Protocol) te worden verstuurd, maar ook andere transportprotocollen zijn mogelijk, zoals in http/3.

Om goed te begrijpen wat mogelijkheden van http/3 zijn, moet je eigenlijk weten hoe het http-protocol is geëvolueerd.

1991: Tim Berners-Lee stelde het initiële http-protocol voor (pas later http/0.9 genoemd). Het ging om een simpel protocol, waarbij de verbinding tussen server en client na elk request werd afgesloten. 1996: Http/1.0 was een broodnodige uitbreiding op het eerste ontwerp. waarbij het response object niet langer tot hypertext is beperkt, maar bijvoorbeeld ook een afbeelding kon zijn (hypermedia transfer protocol zou eigenlijk logischer zijn). 1999: Versie http/1.1 focuste zich vooral op het optimaliseren van de snelheid, met functies als keepalive-connecties en extra caching-mechanismen. 2015: Eindelijk werd opvolger http/2 geïntroduceerd. Dit protocol werd initieel gemodelleerd op Googles spdy en beoogde vooral kortere latentietijden, onder meer door efficiënte headercompressie, ondersteuning voor server push en request-prioritering, en request en response multiplexing. 2018: De IETF erkent de naam http/3. Dit protocol is gebaseerd op een eerder rfc-concept: http via quic. De belangrijkste verschuiving is het gebruik van het (snellere) udp in plaats van tcp. Quic implementeert tevens een eigen cryptolaag.

De eerste definitieve publicatie van het http/1.0-protocol dateert alweer van 1996. In deze versie werd voor elke request-response-uitwisseling tussen client en server een nieuwe tcp-connectie gemaakt. Deze werkwijze betekende echter flink wat latency (vertraging) aangezien elk verzoek door een tcp- (en tls-)handshake werd voorafgegaan. Meer zelfs, aangezien tcp absoluut opstoppingen wil vermijden, wordt er bij de initialisatie van zo’n connectie een ‘slow start’-mechanisme ingelast, wat voor verdere vertraging zorgt.

Http/1.1 trachtte dit latency-probleem enkele jaren later aan te pakken door middel van ‘keep-alive’-connecties. In deze revisie kon eenzelfde connectie namelijk verschillende keren worden hergebruikt om afbeeldingen, stijlbladen en scripts te downloaden nadat de webpagina was doorgestuurd. Dat was geen ideale oplossing, aangezien alle afzonderlijke verzoeken nog altijd na elkaar moesten worden uitgevoerd.

Eerst http/2

Het duurde nog meer dan tien jaar er beterschap kwam, met de komst van Googles spdy-experiment (lees als ‘speedy’) en naderhand met http/2. Die zorgden er namelijk voor dat verschillende requests parallel over een enkele tcp-verbinding kon worden verstuurd (multiplexing). Dat leverde vooral voordeel op wanneer een webpagina uit heel wat elementen was opgebouwd. Dit vind je bijvoorbeeld mooi geïllustreerd op https://http2.golang.org/gophertiles.

Een ander voordeel van http/2 is de ondersteuning van push responses. Hierbij kan een server proactief bepaalde pagina-elementen naar de client(cache) sturen, zodat de server hiervoor niet op expliciete requests hoeft te wachten. Volgens zeer recente cijfers van W3Techs zou circa 43 procent van de websites http/2 ondersteunen: een stijging van zo’n 30 procent in één jaar tijd.

Toch lost ook http/2 niet alle problemen op. Immers, ook wanneer er slechts bij één request dataverlies optreedt, bijvoorbeeld ten gevolge van netwerkopstopping, heeft dat een impact op alle request/responses binnen diezelfde tcp-connectie.

Quick Udp Internet Connections / Quic

Precies het feit dat tcp diverse mechanismen opzet voor een betrouwbare transmissie, maakt het in deze tijden van multimediaal internet niet het meest geschikte transportmiddel voor http. Daarom ook zet http/3 in op een nieuw internet transportprotocol, bedacht door Google: quic (Quick Udp Internet Connections).

Quic-datastreams maken gebruik van dezelfde verbinding zodat er geen extra handshakes of slow starts nodig zijn. Bovendien worden deze streams onafhankelijk van elkaar doorgestuurd, zodat dataverlies bij de ene stream doorgaans geen impact op de andere streams heeft.

©PXimport

De ‘magie’ achter deze techniek is eigenlijk simpel: quic-pakketten worden bovenop udp-datagrammen ingekapseld. Udp op zich mag dan een minder betrouwbaar protocol zijn dan tcp, het feit dat er nauwelijks controlemechanismen zitten ingebouwd maakt het protocol wel merkbaar sneller.

Komt daarbij dat de quic-implementaties, inclusief de (beperkte) opstopping-controle-algoritmen, zich in ‘user space’ bevinden. Dit maakt het makkelijker om het quic-protocol te updaten, zonder dat het onderliggende besturingssysteem betrokken wordt – wat wel het geval is bij tcp. Verder combineert quic de typische tcp-handshake met die van tls 1.3, waardoor authenticatie en encryptie standaard voorzien zijn en bovendien minder vertraging veroorzaken dan via tls/tcp.

Hearder-compressie

Je zou je natuurlijk de vraag kunnen stellen waarom men een nieuwe http-revisie nodig achtte en niet gewoon http/2 (dat al ondersteuning biedt voor multiplexing) bovenop quic inzette. Dat heeft vooral te maken met de header-compressie. Deze zorgt ervoor dat er minder bytes vereist zijn om headers te versturen, met allerlei relevante informatie voor client en server.

In http/2 wordt hiervoor het hpack-formaat gebruikt en de werking hiervan steunt grotendeels op een specifieke volgorde van http-requests en -responses. In tegenstelling tot hpack garandeert de header-compressie van quic (qpack genoemd) geen vaste volgorde tussen de verschillende streams. Qpack is dus niet zomaar compatibel met http/2, wat heeft geleid tot een nieuwe http-revisie. Daarbij komt dat sommige eigenschappen van http/2 (zoals flowcontrole per stream) al in quic zelf zitten ingebouwd, zodat ze uit de eigenlijke http/3-specificatie konden worden weggehaald.

Actuele status

De naam http/3 werd al in november 2018 door het IETF (Internet Engineering Task Force) goedgekeurd en is momenteel nog een rfc-draft, op weg dus naar een definitieve rfc-status. Volgens cijfers van W3Techs ondersteunt op het moment van schrijven circa 4,7 procent van alle websites dit nieuwe protocol. Dat lijkt weinig, maar de trend lijkt onomkeerbaar: op 1 januari van dit jaar bijvoorbeeld was dat nog geen 2,3 procent.

Heel wat grote sites ondersteunen het protocol inmiddels al, waaronder Google, YouTube en Facebook. geekflare.com/http3-test kun je terecht voor twee online tests waarmee je nagaat of een bepaalde site al ondersteuning biedt – probeer het bijvoorbeeld uit met facebook.com. Ontvang je graag een e-mailnotificatie wanneer nog andere bekende sites overstag gaan, dan kun je je hiervoor inschrijven via de site van W3Techs.

Ook op clientniveau zit er duidelijk beweging. Zo ondersteunen Google Chrome (sinds september 2019 in de Canary-build en sinds december 2019 in Chrome 79) evenals Firefox vanaf versie 72.0.1 het nieuwe http-protocol. In deze laatste moet je de functie weliswaar zelf nog even activeren. Dat doe je als volgt. Tik about:config in en zoek naar network.http.http3.enabled. Klik op de knop Omschakelen om de functie op True in te stellen.

▼ Volgende artikel
SpaceX van Elon Musk koopt xAI voor 250 miljard dollar
© SpaceX
Huis

SpaceX van Elon Musk koopt xAI voor 250 miljard dollar

SpaceX heeft voor 250 miljard dollar xAI, het bedrijf achter X (voorheen Twitter) en ai-assistent Grok, gekocht.

SpaceX is het ruimtevaartbedrijf van Elon Musk. xAI was voorheen ook in handen van Musk, maar nu zullen beide bedrijven dus gecombineerd worden. Er wordt 250 miljard dollar in eigen aandelen betaald. Daarmee wordt de waarde van SpaceX nu geschat op ongeveer 1,25 biljoen dollar.

De reden van de overname van een bedrijf van Musk door een ander bedrijf van Musk, is dat men binnen twee tot drie jaar datacenters in de ruimte kan bouwen. Zo schrijft hij in een persbericht: "De huidige ontwikkelingen in AI hangen af van grote datacentra op aarde, wat enorm voor elektriciteit en koeling vereist."

Hij vervolgt: "Er kan niet voldoen worden de wereldwijde vraag naar elektriciteit voor AI op aarde - niet eens op de korte termijn - zonder dat gemeenschappen en het milieu belast worden. Op de lange termijn is AI in de ruimte de enige manier om op te schalen."

De overname wordt dus vooral gedaan om de ruimtevaartplannen van SpaceX te combineren met de AI-plannen van xAI. Het is niet bekend of dit merkbare gevolgen gaat hebben voor X of Grok. Musk kocht een paar jaar geleden Twitter op en hernoemde het socialmediaplatform naar X.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Nieuwe 'strikte accountinstellingen' in WhatsApp: dit doen ze en zo zet je ze (eventueel) aan
© WhatsApp
Huis

Nieuwe 'strikte accountinstellingen' in WhatsApp: dit doen ze en zo zet je ze (eventueel) aan

WhatsApp introduceert een nieuwe beveiligingsstand: strikte accountinstellingen. Met één schakelaar zet je de strengste privacy- en veiligheidsopties tegelijk aan. De functie is vooral bedoeld voor gebruikers die meer risico lopen op gerichte aanvallen, zoals journalisten, politici of activisten. Hier lees je wat de nieuwe instellingen doen en hoe je ze aanzet, als je denkt dat dat voor jou nodig is.

In dit artikel

We laten zien wat strikte accountinstellingen precies doen, welke functies WhatsApp dan meteen aanscherpt en wat dat merkbaar verandert in je chats en oproepen. Ook lees je waar je het kunt aanzetten.

Lees ook: WhatsApp voegt live foto's, AI-thema's en slimme zoekfunctie toe

De nieuwe stand werkt als een soort 'lockdownmodus'. Zodra je hem inschakelt, zet WhatsApp meerdere instellingen vast op de strengste stand. Daarmee wordt het moeilijker voor onbekenden om via WhatsApp contact met je te leggen of schadelijke bestanden te sturen. In ruil daarvoor wordt de app wat minder soepel in het gebruik, vooral richting mensen buiten je contactenlijst.

Niet voor iedereen nodig

Volgens WhatsApp zijn de meeste gebruikers al goed beschermd met standaardprivacy-instellingen en tweestapsverificatie. De strikte modus is bedoeld voor situaties waarin je extra voorzichtig wilt zijn, bijvoorbeeld tijdens werk met gevoelige informatie of in landen waar digitale aanvallen vaker voorkomen.

Wie de stand inschakelt, sluit als het ware alle extra sloten op zijn digitale voordeur. Handig als je tijdelijk of structureel een groter risico loopt.

Wat er gebeurt

De functie grijpt in op verschillende onderdelen van de app. Tweestapsverificatie en beveiligingsmeldingen worden automatisch geactiveerd en vastgezet. Berichten, bijlagen en media van onbekende afzenders worden geblokkeerd, en linkvoorbeelden verdwijnen uit chats. Ook oproepen van onbekende nummers worden standaard gedempt, waarbij je IP-adres verborgen blijft.

Daarnaast kunnen alleen contacten - of een door jou gekozen lijst - je toevoegen aan groepen of je profielinformatie bekijken. Zo voorkom je dat buitenstaanders eenvoudig meer over je te weten komen.

OnderdeelWat er gebeurt
AccountbeveiligingVerificatie in twee stappen wordt automatisch ingeschakeld. Beveiligingsmeldingen staan vast aan. End-to-end versleutelde back-ups worden aanbevolen voor gebruikers die back-ups gebruiken.
Berichten en mediaBijlagen en media van onbekende afzenders worden geblokkeerd. Linkvoorbeelden zijn uitgeschakeld. Grote hoeveelheden berichten van onbekende accounts worden automatisch beperkt.
OproepenOproepen van onbekende nummers worden gedempt. Tijdens gesprekken wordt je IP-adres verborgen.
Profiel en aanwezigheidJe 'Laatst gezien', online-status, profielfoto, info en profiel­links zijn alleen zichtbaar voor contacten of een door jou gekozen lijst.
GroepenAlleen contacten of een vooraf ingestelde lijst kunnen je toevoegen aan groepen.

Inschakelen en beschikbaarheid

De nieuwe stand is te vinden via Instellingen > Privacy > Geavanceerd > Strikte accountinstellingen. WhatsApp rolt de optie in de komende weken gefaseerd uit. De instelling is alleen beschikbaar op je smartphone of je Mac; via WhatsApp Web of WhatsApp Windows kun je hem niet aanpassen. Zodra de stand actief is, zie je precies welke onderdelen zijn vergrendeld.

View post on TikTok

Extra beveiliging in de achtergrond

WhatsApp meldt dat het daarnaast steeds meer onderdelen van de app herschrijft in Rust, een programmeertaal die bekendstaat om zijn sterke geheugenbeveiliging. Daarmee moeten kwetsbaarheden in de verwerking van media en berichten lastiger te misbruiken zijn door spyware of andere aanvallen.

Wat is Rust?

Rust is een moderne programmeertaal die voorkomt dat software fouten maakt in het omgaan met computergeheugen. Zulke fouten kunnen leiden tot beveiligingslekken. Door delen van WhatsApp in Rust te schrijven, verkleint Meta de kans op dit soort kwetsbaarheden.

Even ontspannen tussen het beveiligen door?

🕵Spionagethrillers