Alles wat ons dagelijks bezig houdt op het gebied van marketing, design en techniek delen we graag met je op onze blog. Van best practices voor een optimale customer experience, tips & tricks om de conversie te meten en te verhogen tot aan onze visie op disruptieve businessmodellen.

orange-juice.nl
/ 0

Development

HTTP2: The internet on Steroids

8 augustus 2016

Het begin
Sinds de komst van het internet zijn wij met betrekking tot browsen niet alleen veeleisender geworden maar alles moet ook altijd beschikbaar en snel zijn. Waar vroeger (jaren ’90) een website laden soms tientallen seconden duurde, mag dit in deze tijd maar enkele seconden zijn. Het internet is zelfs communicatiemiddel nummer één geworden, de pen maakt plaats voor het toetsenbord.

Ontwikkelingsfase
Om aan bovenstaande eis te blijven voldoen en zelfs te verbeteren, is Google (samen met IETF) in 2009 aan de ontwikkeling van het HTTP2 protocol begonnen welke het jaar erna in Google Chrome 6 is geïmplementeerd. Daarna hebben grote partijen zoals Facebook, Twitter en Cloudflare het protocol al snel geïmplementeerd (begin 2014 afgerond). Firefox is in Q3 van 2014 begonnen met het implementeren van HTTP2 en is sinds begin 2015 (Firefox versie 36) beschikbaar.

Hoe het werkt?
HTTP1.1 maakt bij elke website bron een nieuwe verbinding met de webserver (computer waar websites op draaien). Bijvoorbeeld op basis van HTTP1.1: je gaat naar orange-juice.nl daarna download je ons logo (.png bestand), de vormgeving (.css bestand) en nog wat tools en effecten (.js bestand). Hiervoor zijn minimaal 3 verbindingen nodig. Wanneer je ook nog eens een HTTPS/Beveiligde verbinding met de website hebt kan dit met HTTP1.1 nog langer duren. HTTP2 daartegen verzamelt het verzoek en stopt dit in één verbinding wat veel tijd scheelt (soms seconden). Hieronder een illustratie, HTTP1.1 versus HTTP2:

http2
Bron: cloudflare.com

Vandaag
De acceptatie en implementatie van HTTP2 is al aardig op weg, het wereldwijde internet verkeer gaat momenteel al voor ruim 70% via HTTP2 en neemt met de dag toe. De meeste webservers hebben HTTP2 ondersteuning, bijvoorbeeld; Nginx, node.js, LiteSpeed en Apache. Helaas moeten de .NET webapplicaties nog even op een IIS ondersteuning wachten…

Volledige ondersteuning
Eind 2016 komt Microsoft Server 2016 uit waar Microsoft bij de rest van de webserver software met HTTP2 ondersteuning aansluit waarmee de rest van de 30% ook via HTTP2 gaat.

Voor de professional
Wellicht is de wens er om eerder met .NET op HTTP2 te draaien. Gelukkig is dat mogelijk door een reverse proxy vóór de IIS omgeving(en) op te zetten. Nginx is hier een goed voorbeeld van, dus als de wens er is moet je even naar dit artikel kijken. Het reduceert niet alleen je laadtijden maar geeft de IIS omgeving(en) ook minder te doen wat weer in meer voor minder resulteert.

Credits featured image: https://habrahabr.ru/company/nixsolutions/blog/304518/

System administrator @ Orange Juice