Bijna alles wat u op een bepaald moment op internet bezoekt, maakt gebruik van een speciaal protocol dat bekend staat als het Hyptertext Transfer Protocol (HTTP). Sinds 1999 gebruikt u HTTP-versie 1.1. Dit is al jaren de voortdurende standaard totdat Google op 10 februari 2015 aankondigde dat de browser volledige ondersteuning zal toevoegen aan wat nu bekend staat als HTTP / 2. Dit klinkt voor sommigen als volkomen wartaal, maar dat komt omdat er geen beschrijving is van wat HTTP / 2 anders doet. Om dit te begrijpen, moeten we onderzoeken wat deze nieuwe protocolversie precies doet en hoe deze vergelijkbaar is met de versie van HTTP die we al bijna twee decennia gebruiken.

Wat bereikt HTTP / 2?

Telkens wanneer een nieuwe protocolversie wordt ontwikkeld, heeft deze concrete concrete doelen nodig. Het meest voor de hand liggende doel is achterwaarts compatibel met zijn voorganger, HTTP 1.1. Zonder die mogelijkheid zal elke server ter wereld moeten overschakelen naar HTTP / 2 om door hun websites te kunnen bladeren.

Hoewel het compatibel blijft met de oudere versie, maakt dit nieuwe protocol gebruik van geavanceerde technieken als maatregelen tegen latentie, waardoor pagina's sneller worden geladen. Dit is het primaire doel, het probleem dat HTTP / 2 het meest agressief aanpakt.

Andere verbeteringen zijn onder meer toegevoegde beveiliging en compatibiliteit met reverse proxies.

In het grote geheel van dingen zal HTTP / 2 niet zo veel verschillen van HTTP 1.1. Terwijl u op internet surft, is het sterkste effect dat u voelt, dat webpagina's aanzienlijk sneller worden geladen, zolang ze de nieuwe versie ondersteunen.

Hoe werkt HTTP / 2 het web sneller?

Zeggen dat "HTTP / 2 alles sneller maakt" is een slechte dienst voor de hoeveelheid werk die er achter de schermen gebeurt om dit te bereiken. Het HTTP 1.1-protocol zit boordevol problemen die in de vroegste jaren van de 21e eeuw acceptabel waren, maar heeft geen zin meer om mee te leven in een tijd waarin bandbreedte goedkoper is en van servers wordt verwacht dat ze pagina's met veel hogere snelheden laden .

De belangrijkste manier waarop HTTP / 2 van plan is de laadtijden van pagina's aan te pakken, is door de header te comprimeren (een stuk gegevens dat door uw klant is verzonden om te vragen dat een server u de gegevens geeft binnen een webpagina die u bezoekt). Dit minimaliseert de hoeveelheid tijd dat uw computer "de hand schudt" met de bestemmingsserver door de hoeveelheid gegevens die moet worden verzonden te verminderen. Tegenwoordig zijn processors krachtig genoeg om miljoenen decompressies in korte tijd af te handelen. Het is logischer om dit nu te doen.

Hoewel het bovenstaande alleen zorgt voor de wachttijd in het oorspronkelijke verzoek, zijn er ook manieren waarop HTTP / 2 voor uw volledige interactie met een website zorgt. Het zal direct server push-technologieën implementeren, waardoor servers actiever kunnen worden in het communicatieproces. Tot voor kort moest u periodiek verzoeken sturen naar de server, waardoor het de headers die u uitwisselt interpreteert telkens wanneer u om informatie vraagt. Met HTTP / 2 stuurt de server u nieuwe gegevens wanneer deze wordt weergegeven.

Ten slotte zal HTTP / 2 iets doen dat "multiplexen" wordt genoemd wanneer u verzoeken verzendt. In HTTP 1.1 was er een probleem: elk nieuw pakket had voorrang op het laatste pakket. Ze werden allemaal op een lineaire manier verwerkt, wat leidde tot een probleem dat 'head-of-line blocking' werd genoemd. Kort gezegd, de prestaties van een server werden beperkt door het feit dat het het eerste pakket dat erbij kwam zou moeten verwerken terwijl de rest in een wachtrij wordt achtergelaten. Als het pakket veel tijd kostte om te verwerken, moesten alle andere pakketten in de rij wachten voor hun beurt. Met HTTP / 2 worden meerdere pakketten tegelijkertijd verwerkt.

Met deze combinatie van verschillende "genezingen" zal HTTP / 2 er alles aan doen om vertragingen als gevolg van HTTP-specifieke problemen te voorkomen. Dit is met name voordelig voor websites met kleinere servers die niet zijn verbonden met een zo groot aantal bandbreedten als die met Facebook en Google.

Als u vragen of ideeën heeft, laat dan een opmerking achter met uw mening!