Heb je je ooit gefrustreerd gevoeld door de trage laadtijd van een webpagina of bezorgd over de beveiliging (of het gebrek daaraan)? Google is momenteel iets aan het ontwikkelen dat een aantal van die problemen zou moeten oplossen. Het heet SPDY en het zal in combinatie met HTTP werken om het internet een stuk sneller te maken.
Ten eerste, wat is HTTP?
Afkort voor HyperText Transfer Protocol, dient HTTP als het onderliggende protocol voor internet. Het is een protocol op toepassingsniveau, een set regels die bepalen hoe twee apparaten communiceren en gegevens met elkaar delen. Helaas is de latentie van webpagina's of trage laadtijden, vanwege de manier waarop het is ontworpen, een groot probleem voor HTTP. Natuurlijk, als u HTTPS HTTPS Everywhere gebruikt: Gebruik HTTPS in plaats van HTTP indien mogelijk HTTPS Everywhere: gebruik HTTPS in plaats van HTTP indien mogelijk Lees meer, sommige hiervan zijn mogelijk minder belangrijk.
HTTP gaf oorspronkelijk de opdracht dat de communicatie met de server moet worden gesloten na elke aanvraag / reactiecyclus, waarbij één apparaat een aanvraag voor gegevens naar een ander apparaat verzendt en vervolgens die gegevens van het andere apparaat ontvangt. Dit resulteerde in de volledige opzet en uitsplitsing van een TCP-kanaal voor elk verzoek, wat duur was in termen van bandbreedte en een hoop onnodige belasting van de computers en servers veroorzaakte. TCP is, net als HTTP, een webprotocol dat specifiek zorgt voor gegarandeerde bezorging, dubbele onderdrukking, in-order levering, flow control, congestion avoidance en andere transportfuncties.
Een ander probleem was dat het FIFO-semantiek bevatte. FIFO, of 'First In, First Out' semantiek dicteert in wezen dat het eerste verzoek om binnen te komen bij de server het eerste antwoord zal hebben. Maar dit kan een probleem zijn. Wanneer er een langzaam verzoek aan de voorkant van de wachtrij staat, moeten de verzoeken erachter langer wachten en is er een terugstroom van verzoeken.
Daarna volgde HTTP 1.1 met enkele belangrijke wijzigingen om dit probleem op te lossen. Ten eerste was HTTP 1.1 toegestaan voor nieuwe typen TCP-verbindingen waardoor de kanalen open bleven tussen verzoek / responscycli. Deze werden 'keep alive'-verbindingen genoemd. HTTP 1.1 stond ook toe dat pipelining, wat beloofde zich te ontdoen van het een-op-een-systeem voor het afhandelen van verzoeken, werd toegestaan. De levend gebleven verbindingen werden op grote schaal overgenomen, terwijl pipelining alleen ooit werd gebruikt door Opera, dat bekend staat om het gebruik van meer innovatieve technologie. 5 Ideologische redenen waarom je Opera moet proberen 5 Ideologische redenen waarom je Opera zou moeten proberen Niet veel mensen hebben Opera geprobeerd of zelfs Veel gehoord over Opera, omdat de browser van ver altijd heeft bekeken terwijl Internet Explorer, Firefox en nu Google Chrome de ... Lees meer in zijn browser gebruiken.
Hoe zit het met SPDY?
Omdat pijplijnen niet algemeen werd toegepast, bleef de latentie van webpagina's nog steeds een probleem. In 2009 kondigde Google aan dat het begonnen was met de ontwikkeling van SPDY, met als doel het internet sneller te laten werken.
SPDY is een open netwerkprotocol dat bedoeld is om te worden gebruikt naast HTTP om webgegevens te transporteren. Omdat het een open netwerkprotocol is, stelt het regels vast voor de manier waarop gegevens over netwerken worden gedeeld.
Het werkt door HTTP-verkeer te manipuleren om de laadtijd van webpagina's te verminderen. Dit gebeurt door een specifieke ID, een stroom-ID genaamd, aan elke aanvraag toe te wijzen. Vanaf daar is het in staat om HTTP's FIFO-systeem te omzeilen door slechts één TCP-kanaal te gebruiken. Meerdere verzoeken kunnen tegelijkertijd worden beantwoord, waardoor wachtrijen worden vrijgegeven en langzame laadtijden worden verkort. Er gaat echter niets verloren of verknoeid dankzij die stream-ID.
SPDY vermindert ook het laden van webpagina's door de kopteksten te comprimeren die bij de aanvragen horen. Niet-gecomprimeerd, aangezien ze via HTTP komen, kunnen ze variëren in grootte van ongeveer 200 bytes tot ruim 2 kB. Het is niet ongebruikelijk dat aanvraagkopten ook zo groot zijn als 700 kB. Wanneer deze ongecomprimeerd de server binnenkomen, eten ze de bandbreedte op en kan de latency zijn tol eisen bij een verbinding.
Redundante headers worden ook verwijderd tijdens verzoeken. Nadat een koptekst eenmaal is ingesteld, hoeft deze niet opnieuw en opnieuw te worden verzonden, en dat is het niet, dankzij SPDY.
SPDY vereist SSL voor beveiliging, waardoor het veel veiliger is dan HTTP. Niet alleen dat, het is aangetoond dat kop-tegen-koptests 64% sneller zijn dan HTTP, hoewel volgende tests van een paar teams hebben aangetoond dat dit in het algemeen niet echt een verschil maakt, omdat websites veel verschillende bronmateriaal dat er nog een beetje latency in gebruik zou zijn.
Niettemin wordt SPDY vanaf november 2014 ondersteund door 2, 3% van alle websites, waaronder Twitter en veel van de services van Google.
Hoe kan ik het gebruiken?
Als u Google-services of Twitter gebruikt, gebruikt u al SPDY. Omdat slechts een paar websites SPDY ondersteunen, is de kans groot dat u het niet langer dan HTTP of HTTPS voor een lange tijd zult gebruiken.
Voor gebruikers met webservers kunt u meestal SPDY implementeren zonder enige webinhoud te hoeven wijzigen. Voor Apache-gebruikers Een Apache-webserver instellen in 3 eenvoudige stappen Hoe installeer ik een Apache-webserver in 3 eenvoudige stappen Wat de reden ook is, u wilt op een gegeven moment een webserver aan de gang krijgen. Of u uzelf op afstand toegang wilt geven tot bepaalde pagina's of services, u wilt een community ... Lees Meer, er is een SPDY-extensie die kan worden geïnstalleerd met de naam mod_SPDY. Als u Nginx gebruikt, kunt u de SPDY-patch toepassen. Hoewel mod_SPDY en de SPDY-patch voor Nginx zeker nieuw en waarschijnlijk verwarrend zijn, zijn ze niet ongelooflijk moeilijk te installeren. U hebt echter nog steeds een SSL-certificaat nodig. Dit artikel door Mohan Ramkumar laat u zien hoe u uw eigen SSL-certificaat krijgt. Hoe krijgt u uw eigen gratis SSL-certificaat? Hoe krijgt u uw eigen gratis SSL-certificaat Lees meer, gratis.
Als u een browser gebruikt en benieuwd bent naar welke sites SPDY ondersteunen, zijn er apps en add-ons beschikbaar die aangeven of deze is ingeschakeld of niet, zoals SPDY-indicator beschikbaar voor Chrome en Mozilla Firefox. Er wordt een klein groen pictogram weergegeven als het is ingeschakeld voor een specifieke website en een optioneel grijs pictogram als dit niet is ingeschakeld.
Conclusie
Hoewel SPDY in het echte leven misschien niet sneller is dan HTTP, is het er wel en wordt het al ondersteund door verschillende webbrowsers, waaronder Chrome / Chromium, Mozilla Firefox, Opera, Amazon Silk en Safari. Hoewel het inschakelen van SPDY op uw eigen server in eerste instantie een beetje ingewikkeld kan zijn, maakt u de weg vrij voor een nieuw wereldwijd web.
Heb je enige ervaring met SPDY? Laat hieronder een reactie achter en we zullen chatten!
Image Credit: serverruimte via Flickr, Unplugged via Flickr, SPDY ingeschakeld op Firefox 12.0 via Flickr