Wat is HTTP / 2 en wat doet het?
In de afgelopen 20 jaar is het World Wide Web enorm geëvolueerd. Alle verbeterde webtechnologieën vereisen betere en snellere oplossingen en protocollen voor communicatie en bestandsoverdracht dan de huidige (HTTP) die hun technologische grenzen bereiken.
Wat is HTTP / 2?
HTTP / 2 is de nieuwste versie van Hypertext Transport Protocol (HTTP) - het onderliggende protocol dat wordt gebruikt door het World Wide Web . Het werd oorspronkelijk goedgekeurd in februari 2015. Dat is bijna 20 jaar na het oorspronkelijke HTTP. HTTP / 2 verlaagt de laadtijden en brengt enorme verbeteringen aan in de communicatie tussen servers en browsers. De meerderheid van de browsers heeft al HTTP / 2 toegevoegd en het heeft niet veel veranderd vanuit het perspectief van gebruikers. Dat is de belangrijkste reden waarom velen van ons er nog niet van hebben gelezen of gehoord.
Wat doet HTTP / 2?
Als een opvolger van HTTP richt HTTP / 2 zich op het verbeteren van alle kenmerken van HTTP . Om achterwaartse compatibiliteit met het oudere protocol te behouden, behoudt het de meeste functionaliteit van HTTP. Het introduceert echter enkele drastische verbeteringen.
Zowel HTTP of HTTP / 2 definiëren:
- Welke acties webbrowsers en servers moeten uitvoeren als reactie op verschillende opdrachten.
- Hoe elk stukje informatie via het web van de ene naar de andere computer wordt overgedragen.
- Hoe berichten worden gemaakt, opgemaakt en verzonden.
Met andere woorden, HTTP en HTTP / 2 bepalen de normen voor de manier waarop webcontent wordt afgeleverd op uw computer, met dit verschil dat HTTP / 2 alle dingen sneller doet dan zijn voorganger. Hier kun je zien wat HTTP / 2 doet in details.
Gemultiplexte streams
Bi-directionele reeksen frames met tekstindelingen die via het HTTP / 2-protocol tussen een server en client worden verzonden, worden streams genoemd. HTTP kan slechts één van deze streams tegelijkertijd verzenden. Nadat de stream is verzonden, is er een tijdsvertraging tussen de volgende streamtransmissie.
HTTP / 2 brengt een nieuwe binaire framelaag tot stand die het probleem direct oplost met het een voor een verzenden van streams. Hiermee kunnen clients en servers de HTTP / 2-payload desintegreren in kleine, onafhankelijke en gemakkelijk hanteerbare interleaved framesequenties. Al deze informatie wordt opnieuw samengesteld wanneer deze aan het andere einde wordt ontvangen. Dit protocol maakt de uitwisseling mogelijk van meerdere, gelijktijdig open en onafhankelijke bidirectionele sequenties zonder latentie tussen opeenvolgende stromen.
Voordelen:
- De parallel gemultiplexte verzoeken en antwoorden blokkeren elkaar niet.
- Een enkele TCP-verbinding kan zorgen voor een effectief gebruik van netwerkbronnen, zelfs bij het verzenden van meerdere datastromen.
- Snellere webprestaties, verminderde latentie en betere resultaten van zoekmachines.
- Verminderde CapEx en OpEx in hardloopnetwerk- en IT-bronnen.
HTTP / 2 server Push en cache Push
Dit is een mogelijkheid waarmee servers extra cacheerbare informatie naar clients kunnen verzenden . Die info is niet vereist, maar wordt verwacht voor toekomstige verzoeken. Als de client één resource A opvraagt en het bekend is dat naar een andere resource B wordt verwezen met de aangevraagde resource, kan de server B samen met A pushen in plaats van te wachten op een andere clientaanvraag. Vervolgens slaat de cliënt de gepushed bron B in de cache op voor toekomstig gebruik. Met deze functie kunt u een volledig round-trip-aanvraagproces voor verzoeken opslaan en de latentie van het netwerk verminderen. Google heeft oorspronkelijk Server Push geïntroduceerd in het SPDY-protocol.
Een andere verbetering in HTTP / 2 is Cache Push. Hiermee wordt de cache van de client proactief bijgewerkt of ongeldig gemaakt. Dit biedt een mogelijkheid voor servers om mogelijke push-resources te identificeren die klanten eigenlijk niet willen.
Voordelen:
- Clients kunnen gepushte resources weigeren om een efficiënte repository van bronnen in de cache te behouden (of zelfs Server Push volledig uit te schakelen).
- Clients kunnen het aantal gepushte streams gelijktijdig gemultiplext beperken.
- Servers kunnen prioriteit geven aan gepushte bronnen. Dit is een sleutel in het prestatieverschil tussen HTTP / 2 en HTTP.
- Servers kunnen gepushte bronnen multiplexen samen met de gevraagde informatie van de klant binnen dezelfde TCP-verbinding.
- Clients kunnen de bronnen in de cache op verschillende pagina's gebruiken.
- Clients besparen gepushte bronnen in het cachegeheugen.
Binaire protocollen
HTTP / 2 heeft aanzienlijk verbeterde mogelijkheden bij het transformeren van tekstprotocol naar een binair protocol . Terwijl HTTP wordt gebruikt om tekstopdrachten te verwerken om verzoekresponscycli uit te voeren, vertrouwt HTTP / 2 op binaire opdrachten. Dat verkort de tijd (tot 1s en 0s) voor het uitvoeren van dezelfde taken.
Browsers met HTTP / 2-ondersteuning zetten de tekstopdrachten om in binaire code voordat ze via het netwerk worden verzonden. De binaire framelaag is echter niet achterwaarts compatibel met HTTP-servers en -clients.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikkenVoordelen:
- Beveiligingsproblemen voorkomen die verband houden met de tekstuele aard van HTTP (zoals respons-splitsingsaanvallen).
- Schakelt HTTP / 2-functies in, zoals compressie, prioriteitstelling, multiplexing, effectieve afhandeling van TLS en flow control.
- Compacte weergave van commando's voor eenvoudige implementatie en verwerking.
- Robuuste en effectieve gegevensverwerking tussen clients en servers.
- Verbeterde doorvoer en verminderde netwerklatentie.
- Minder kans op fouten in vergelijking met HTTP.
- Uiterst efficiënt gebruik van netwerkbronnen.
- Weinig overhead bij het ontleden van gegevens.
- Lichtere netwerkvoetafdruk.
Stroomprioritering
Met HTTP / 2 kunnen clients voorkeuren bieden voor bepaalde gegevensstromen. De servers zijn niet verplicht om de instructies van deze clients op te volgen, maar met dit mechanisme kunnen servers de toewijzing van netwerkresources optimaliseren op basis van gebruikersvereisten .
Streamprioritization werkt met gewicht en afhankelijkheden die aan elke stream zijn toegewezen. Ondanks het feit dat alle streams inherent van elkaar afhankelijk zijn, hebben ze een gewicht toegewezen tussen 1 en 256. Stroomprioriteringsmechanismen zijn nog steeds onderwerp van discussie. Wanneer Streamprioritization echter wordt gecombineerd met de HTTP / 2-mogelijkheid om meerdere datastreams in een enkele TCP-verbinding te verwerken, kan dit leiden tot een gelijktijdige komst van serververzoeken met verschillende prioriteit.
Voordelen:
- Verminderde negatieve effecten van zorgen over netwerklatentie.
- Verbeterde gebruikerservaring en laadsnelheid van pagina's.
- Optimalisatie in datacommunicatie tussen servers en clients.
- Zeer effectief gebruik van netwerkbronnen.
- Kortere levertijd voor verzoeken om primaire inhoud.
Stateful Header Compressie
Wanneer gebruikers met behulp van HTTP door websites met media-rijke inhoud bladeren, pushen clients meerdere vrijwel identieke headerframes. Dit is het geval omdat elke clientaanvraag zoveel informatie moet bevatten als de server nodig heeft om de gevraagde bewerking uit te voeren. Dit proces leidt tot latentie en onnodig hulpbronnengebruik.
HTTP / 2 bevat de mogelijkheid om een groot aantal overtollige headerframes te comprimeren. Het is afhankelijk van de HPACK-specificatie als een veilige en eenvoudige benadering van headercompressie . Clients en servers onderhouden een lijst met headers die in eerdere client-serveraanvragen zijn gebruikt. Hiermee worden de problemen rechtstreeks opgelost met overbodige headerframes.
Voordelen:
- Codeert veelgebruikte headers en grote headers. Dat elimineert de noodzaak om volledige headerframes te verzenden. De individuele grootte van elke stream krimpt aanzienlijk.
- Beveiligingsaanvallen voorkomen, zoals CRIME, gegevensstromen met gecomprimeerde headers verkennen.
- Efficiënt gebruik van multiplexmechanismen.
- Efficiënte stroomprioritering.
- Lagere middelenoverhead.
Real-World voordelen van HTTP / 2
HTTP / 2 is gericht op het maximaliseren van het potentieel van technologie, om tegemoet te komen aan toekomstige behoeften en verwachtingen. Dit zijn de real-world voordelen van het gebruik van HTTP / 2.
Web Performace en mobiele webprestaties - HTTP / 2 heeft de mogelijkheid om meer gegevens te verzenden en ontvangen in één client-server communicatiecyclus. Het werkt goed om de latentie te verminderen bij toegang tot internetdiensten op mobiele datanetwerken en netwerken met beperkte bandbreedte per gebruiker.
Goedkoper snel internet - HTTP / 2 verhoogt de effectiviteit van datacommunicatie. Dat stelt internetproviders in staat de algehele kosten te verlagen met behoud van de standaards voor supersnel internet.
Beveiliging - HTTP / 2 is niet kwetsbaar voor de bedreigingen die zijn gericht op op tekst gebaseerde protocollen voor toepassingslagen. Bovendien gebruikt het Security by Obscurity-aanpak om gevoelige datatransmissie tussen clients en servers te beschermen.
Uitgestrekt bereik - HTTP / 2-voordelen verminderen internetresultaten voor providers. Dat zal leiden tot een bredere internetdekking op een wereldwijd niveau.
Media-rijke webervaring - De technologische kenmerken en voordelen die HTTP / 2 op het World Wide Web biedt, bieden een infrastructuur die in staat is om media-rijke inhoud te leveren met hogere paginaladingsnelheden.
Afronden
HTTP / 2 is een relatief nieuw protocol, maar de ondersteuning ervoor groeit voortdurend. Tegenwoordig ondersteunen de meeste internetbrowsers HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome voor Android). Veel webservers bevatten ondersteuning voor HTTP / 2 native (Apache HTTP Server, Tomcat, NGINX). Zonder twijfel is HTTP / 2 het WWW-protocol van de toekomst.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken