Hvad er HTTP / 2, og hvad gør det?



Prøv Vores Instrument Til At Fjerne Problemer

I de sidste 20 år har World Wide Web udviklet sig dramatisk. Alle de forbedrede webteknologier kræver bedre og hurtigere løsninger og protokoller til kommunikation og filoverførsel end de nuværende (HTTP), der når deres teknologiske grænser.





Hvad er HTTP / 2?

HTTP / 2 er den nyeste version af Hypertext Transportprotokol (HTTP) - den underliggende protokol, der bruges af World Wide Web . Det blev oprindeligt godkendt i februar 2015. Det er næsten 20 år efter den oprindelige HTTP. HTTP / 2 reducerer indlæsningstiderne og medfører store forbedringer i kommunikationen mellem servere og browsere. Størstedelen af ​​browserne har allerede tilføjet HTTP / 2, og det ændrede ikke mange ting fra brugernes perspektiv. Det er hovedårsagen til, at mange af os ikke har læst eller hørt om det endnu.



Hvad gør HTTP / 2?

Som en efterfølger af HTTP, HTTP / 2 fokuserer på at forbedre alle egenskaber ved HTTP . For at opretholde bagudkompatibilitet med den ældre protokol beholder den det meste af HTTP-funktionaliteten. Det introducerer dog nogle drastiske forbedringer.

Både HTTP eller HTTP / 2 definerer:

  • Hvilke handlinger webbrowsere og servere skal udføre som svar på forskellige kommandoer.
  • Hvordan hver bit information overføres fra en til en anden computer via internettet.
  • Hvordan beskeder oprettes, formateres og transmitteres.

Med andre ord sætter HTTP og HTTP / 2 standarderne for, hvordan webindhold leveres til din computer med den forskel, at HTTP / 2 gør alle ting hurtigere end sin forgænger. Her kan du se, hvad HTTP / 2 gør i detaljer.



Multiplexede streams

Tovejs serie af tekstformatrammer, der sendes via HTTP / 2-protokollen mellem en server og klient, kaldes 'streams.' HTTP er i stand til kun at transmittere en af ​​disse “streams” ad gangen. Efter at strømmen er sendt er der en tidsforsinkelse mellem den næste strømoverførsel.

HTTP / 2 opretter et nyt binært indramningslag, der direkte løser problemet med transmission af 'streams' en efter en. Det giver klienter og servere mulighed for at nedbryde HTTP / 2-nyttelasten i små, uafhængige og let håndterbare sammenflettede rammesekvenser. Alle disse oplysninger samles igen, når de først er modtaget i den anden ende. Denne protokol muliggør udveksling af flere, samtidigt åbne og uafhængige tovejssekvenser uden latenstid mellem på hinanden følgende strømme.

Fordele:

  • De parallelle multipleksede anmodninger og svar blokerer ikke hinanden.
  • En enkelt TCP-forbindelse kan sikre effektiv netværksressourceudnyttelse, selv når der transmitteres flere datastrømme.
  • Hurtigere webydelse, reduceret ventetid og bedre resultater fra søgemaskinerne.
  • Reduceret CapEx og OpEx i kørende netværk og it-ressourcer.

HTTP / 2 Server Push og Cache Push

Dette er en funktion, der gør det muligt for servere at sende yderligere cacherbar information til klienter . Disse oplysninger anmodes ikke om, men forventes til fremtidige anmodninger. Hvis klienten anmoder om en ressource A, og det vides, at der henvises til en anden ressource B med den anmodede, kan serveren skubbe B sammen med A i stedet for at vente på en anden klientanmodning. Derefter gemmer klienten den skubbede ressource B i cachen til fremtidig brug. Denne funktion gemmer en hel anmodning-svar rundtursproces og reducerer netværksforsinkelse. Google introducerede oprindeligt Server Push i SPDY-protokol.

En anden forbedring i HTTP / 2 er Cache Push. Dette opdaterer eller ugyldiggør klientens cache proaktivt. Dette giver serverne mulighed for at identificere mulige push-ressourcer, som klienter faktisk ikke ønsker.

Fordele:

  • Klienter kan afvise skubbede ressourcer for at opretholde et effektivt lager af cachelagrede ressourcer (eller endda deaktivere Server Push helt).
  • Klienter kan begrænse antallet af pushede streams multiplexet samtidigt.
  • Servere kan prioritere pressede ressourcer. Dette er en nøgle i ydelsesforskellen mellem HTTP / 2 og HTTP.
  • Servere kan multiplexere skubbede ressourcer sammen med klientens anmodede oplysninger inden for den samme TCP-forbindelse.
  • Kunder kan bruge de cachelagrede ressourcer på tværs af forskellige sider.
  • Klienter gemmer skubbede ressourcer i cachehukommelsen.

Binære protokoller

HTTP / 2 har betydeligt forbedrede kapaciteter, når der omdannes tekstprotokol til en binær protokol . Mens HTTP bruges til at behandle tekstkommandoer til at udføre anmodnings-svar-cyklusser, er HTTP / 2 afhængig af binære kommandoer. Det forkorter tiden (til 1s og 0s) for udførelse af de samme opgaver.

Browsere med HTTP / 2-understøttelse konverterer tekstkommandoer til binær kode, før de transmitteres over netværket. Det binære indramningslag er imidlertid ikke bagudkompatibelt med HTTP-servere og klienter.

Fordele:

  • Forebyggelse af sikkerhedsproblemer forbundet med HTTP's tekstmæssige karakter (f.eks. Svardelingsangreb).
  • Aktiverer HTTP / 2-funktioner som komprimering, prioritering, multiplexing, effektiv håndtering af TLS og flowkontrol.
  • Kompakt repræsentation af kommandoer, der muliggør lettere implementering og behandling.
  • Robust og effektiv databehandling mellem klienter og servere.
  • Forbedret gennemstrømning og reduceret netværksforsinkelse.
  • Færre chancer for fejl sammenlignet med HTTP.
  • Meget effektiv udnyttelse af netværksressourcer.
  • Lav overhead i parsedata.
  • Lettere netværk fodaftryk.

Stream-prioritering

HTTP / 2 giver klienter mulighed for at give præferencer til bestemte datastrømme. Serverne er ikke forpligtet til at følge disse klienters instruktioner, men denne mekanisme tillader servere at optimere netværksressourceallokering baseret på brugerkrav .

Streamprioritering fungerer med vægt og afhængighed tildelt hver stream. På trods af at alle streams i sagens natur er afhængige af hinanden undtagen, har de en vægt tildelt mellem 1 og 256. Stream-prioriteringsmekanismer er stadig et diskussionsemne. Når streamprioritering kombineres med HTTP / 2-kapaciteten til behandling af flere datastrømme i en enkelt TCP-forbindelse, kan det imidlertid føre til en samtidig ankomst af forskellige prioritetsserveranmodninger.

Fordele:

  • Reducerede negative virkninger af netværkslatensproblemer.
  • Forbedret brugeroplevelse og sideindlæsningshastighed.
  • Optimering i datakommunikation mellem servere og klienter.
  • Meget effektiv udnyttelse af netværksressourcer.
  • Reduceret leveringstid for primære indholdsanmodninger.

Stateful header kompression

Når brugere gennemsøger websteder med medierigt indhold ved hjælp af HTTP, skubber klienter flere næsten identiske headerrammer. Dette er tilfældet, fordi hver klientanmodning skal indeholde så mange oplysninger, som serveren kræver for at udføre den ønskede handling. Denne proces fører til ventetid og unødvendigt ressourceforbrug.

HTTP / 2 inkluderer muligheden for at komprimere et stort antal redundante headerrammer. Det er afhængig af HPACK-specifikation som en sikker og enkel tilgang til headerkomprimering . Klienter og servere opretholder en liste over overskrifter, der blev brugt i tidligere anmodninger om klientserver. Dette løser direkte bekymringerne med redundante headerrammer.

Fordele:

  • Koder for almindeligt anvendte overskrifter og store overskrifter. Det eliminerer behovet for at sende hele headerrammer. Hver streams individuelle størrelse krymper markant.
  • Forebyggelse af sikkerhedsangreb såsom CRIME, der udforsker datastrømme med komprimerede overskrifter.
  • Effektiv udnyttelse af multiplexeringsmekanismer.
  • Effektiv streamprioritering.
  • Reduceret ressourceomkostning.

Virkelige fordele ved HTTP / 2

HTTP / 2 er fokuseret på at maksimere potentialet i teknologi , for at imødekomme fremtidige behov og forventninger. Her er de virkelige fordele ved at bruge HTTP / 2.

Web Performace og Mobile Web Performance - HTTP / 2 har evner til at sende og modtage flere data i en klient-server kommunikationscyklus. Det fungerer godt for at reducere ventetid ved adgang til internettjenester på mobile datanetværk og netværk med begrænset båndbredde pr. Bruger.

Billigere højhastighedsinternet - HTTP / 2 øger datakommunikationens effektivitet. Det giver internetudbydere mulighed for at krympe de samlede udgifter og samtidig opretholde standarderne for højhastighedsinternet.

Sikkerhed - HTTP / 2 er ikke sårbar over for de trusler, der er målrettet mod tekstbaserede applikationslagsprotokoller. Desuden bruger den 'Security by Obscurity' tilgang til at beskytte følsom datatransmission mellem klienter og servere.

Ekspansiv rækkevidde - HTTP / 2-fordele reducerer internetresultater for udbydere. Det vil føre til bredere internetdækning på verdensplan.

Medierig weboplevelse - Teknologifunktionerne og fordelene, som HTTP / 2 bringer til internettet, giver en infrastruktur, der er i stand til at levere medierigt indhold med hurtigere sideindlæsningshastigheder.

Pak ind

HTTP / 2 er relativt ny protokol, men understøttelsen af ​​den vokser konstant. I dag understøtter de fleste internetbrowsere HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome til Android). Mange webservere inkluderer HTTP / 2 native support (Apache HTTP Server, Tomcat, NGINX). Uden tvivl er HTTP / 2 fremtidens WWW-protokol.

5 minutter læst