Sissejuhatus HTTP / 2-sse

Sissejuhatus HTTP / 2-sse ja lühike arutelu selle kohta, kuidas see Interneti-kasutaja kogemusi täiustab.

seotud sisu

Kas soovite õppida?

Liituge SSL.com-i uudiskirjaga, olge kursis ja turvaline.

Sissejuhatus

HTTP / 2 on saidi viimane versioon Hüperteksti edastusprotokoll või HTTP [01], mida brauserid kasutavad veebiserveritega suhtlemiseks. Tuletatud vanemast SPDY-st [02] Protokollina on HTTP / 2 HTTP esimene uus versioon pärast HTTP / 1.1 standardimist RFC 2068-s 1997. aastal.

Selle töötas välja Interneti-tehnilise töörühma (IETF) HTTP töörühm httpbis (kus “bis” tähendab “kaks korda”) ja avaldatud kui RFC 7540 [03] mai 2015.

HTTP / 2 vastuvõtmine

Pärast ametlikku avaldamist on töötavad veebisaidid üha enam kasutusele võtnud HTTP / 2. Veebiküsitluste teenus W3Techs [04] märgib, et 2017. aasta septembrist 2018. aasta septembrini tõusis HTTP / 2 tugi 16% -lt 30% -ni kõigist jälgitavatest veebisaitidest.

Lisaks pakuvad peamised brauserid (nt Chrome, Firefox, Edge jne) täielikku tuge HTTP / 2 jaoks [05]. (Mõned arendasid isegi eksperimentaalseid rakendusi, enne kui HTTP / 2 standardiks aktsepteeriti.)

See laialt levinud kasutuselevõtt tähendab, et HTTP / 2-l on potentsiaal saada veebi de facto kommunikatsiooniprotokolliks.

Motivatsioon HTTP / 2 taga

Httpbisharta [06] mainib HTTP / 1.1 mitut komponenti, mida saaks parandada HTTP / 2 motivatsioonina. Grupi esmane eesmärk oli siiski vähendada lõpptarbija tajutavat latentsust.

Selleks httpbis kaaluti ribalaiuse ületamise minimeerimist päise tihendamise ja agressiivsete eelhankimistehnikate (nt serveri tõuke) abil, püüdes samal ajal süstemaatiliselt lahendada teadaolevaid jõudluse probleeme, nagu näiteks ühenduse ummikud ja HoL-i blokeerimise probleem [07].

Veelgi enam, HTTP / 2 pidi olema ühilduv tagurpidi, see tähendab, et see pidi kasutama samu meetodi verbe, olekukoode, URI-sid ja (enamiku) päisevälju, mis leiti HTTP / 1.1-st. HTTP / 2 tuli kavandada ka tavaliste HTTP-kasutamise juhtumite, näiteks töölaua- ja mobiilse veebibrauseri, programmeerimisliideste, puhverserverite ja tulemüüride toetamiseks.

Selle ühilduvuse säilitamiseks töötas töörühm välja protokollide läbirääkimiste mehhanismi, mis võimaldaks klientidel ja serveritel valida HTTP / 1.1, HTTP / 2 või isegi mitte-HTTP-protokollide hulgast.

Mis on uut HTTP / 2-s?

HTTP / 2 kasutab endiselt samu URI skeeme ja pordi numbreid, mida kasutati HTTP / 1.1 (st. Porti 80 jaoks) http URI-d ja port 443 jaoks https URI-d), kuid paljud asjad tehakse kapoti all erinevalt.

Kõige põhimõttelisem muudatus on raamid kui HTTP / 2 põhiandmeüksus.

Traditsiooniliselt kasutab HTTP / 1.1 paketid võrguandmete esitamiseks. Klient konstrueerib päringupaketi koos meetodi verbiga (nt GET or POST), lisades ühenduse kirjeldavate päiste loendi ja keha, mis sisaldab rakenduse andmeid.

Päringupaketi saamisel vastab HTTP / 1.1-server sarnase vastuspaketiga, mis sisaldab nõutud teavet. Seetõttu nõuab iga päringu ja vastuse tsükkel uut ühendust.

Seevastu HTTP / 2 kliendid loovad serveriga ühe võrguühenduse, mida nad kasutavad kõigi järgnevate võrgusuhtluste jaoks. Päised, kasutajaandmed, veateated ja kogu selline teave pakitakse enne võrgu kaudu edastamist eraldi binaarsesse andmestruktuuri, mida nimetatakse kaadriteks.

See näib olevat väike muudatus, kuid sellel on märkimisväärne mõju.

Päise tihendamine

Raamide kasutamise suur eelis on see, et HTTP / 2 päised pakitakse a-kausta HEADER raam, mida saab tihendada tavaliste pakkimismeetodite abil. Päised tuleb enne mis tahes andmete edastamist üle kanda, nii et päiste tihendamine võib vähendada ribalaiuse üldkulusid, mille on määranud HTTP / 2.

Päise tihendamine koos järgneva HTTP / 2 funktsioone parandava jõudlusega võib olla eriti kasulik mobiili- või asjade Interneti (IOT) rakendustes, kus on vaja minimaalset võrgukasutust.

Vood ja multipleksimine

Semantiliselt asjakohaste kaadrite iseseisvat jada nimetatakse a-ks oja. Voodid omistavad neid loonud lõpp-punkt (st klient või server) ainulaadse identifikaatori, et teised lõpp-punktid saaksid neid eristada.

Lõpp-punktid saavad sama HTTP / 2-ühenduse kaudu mitme voo kaadreid põimida, võimaldades ühel võrguühendusel toetada korraga mitut samaaegselt avatud voogu. Seda protsessi nimetatakse multipleksimine [08].

Sama ühenduse taaskasutamine leevendab selliseid probleeme nagu ühenduse ummikud ja eelnevalt mainitud HoL-i probleem ning pakub paremat jõudlust ja sujuvamat kasutajakogemust kui eelmised HTTP-versioonid.

Voo sõltuvus ja prioriteetide seadmine

Mitme samaaegse voo haldamine tähendab, et mõnda voogu töödeldakse enne teisi. HTTP / 2 võimaldab arendajal (või administraatoril) seda käitumist viimistletud funktsiooniga viimistleda ojade sõltuvus.

Voog võib sõltuda teise voo täielikust ülekandmisest enne selle käitlemist. Näiteks saidil, kuhu tuleks enne sarnase sisu soovituste laadimist veebilehe põhisisu laadida, lubab HTTP / 2 luua soovituse voo sõltuvalt peamisest sisuvoogust.

Samuti toetab HTTP / 2 oja prioriteetide seadmine. See tähendab, et igale voogule võib määrata prioriteedi, et soovitada, kui kiiresti peaksid lõpp-punktid eraldama ressursse voo kaadrite käsitsemiseks.

Prioriteetide seadmine ja voogesõltuvus aitavad arendajatel ja veebisaitide omanikel optimeerida oma saidi võrgukasutust, mis võib nende saidi kasutuskogemust märkimisväärselt parandada.

Server Push

Lõpuks saab HTTP / 2 parandada veebisaidi toimivust, pakkudes tõukefunktsiooni. HTTP / 2 veebiserver saab andmetega vastata rohkemate päringute jaoks, kui klient algselt soovis. See võimaldab serveril edastada andmeid, mida veebibrauser peab lehe renderdama, ootamata, kuni brauser esimest vastust uurib, ja seega ilma täiendava taotlustsükli lisakuludeta.

Serveri tõukefunktsioon annab arendajatele täieliku kontrolli taotluste arvu üle, mida brauseril on vaja oma veebisaidi renderdamiseks. Õige kasutamise korral võib see funktsioon vähendada võrgu üldkulusid.

Loomulikult võib tõukefunktsiooni väärkasutamine raisata ka rohkem ribalaiust, kui see tegelikult vajalik on. Sel põhjusel võimaldab HTTP / 2 kliendil ühenduse esmakordsel läbirääkimisel taotleda serveri tõrke keelamist.

HTTP / 2 turvalisus

Kui olete selle hetkeni läbi lugenud, peaks olema selge, et HTTP / 2 arendajad pingutavad tõesti jõudluse parandamise nimel. Siiski tuleb märkida, et HTTP / 2 võib aidata ka brauseri kasutajate turvalisust üldiselt parandada.

Täpsemalt on HTTP / 2 määratletud nii HTTP URI (st ilma krüptimiseta) kui ka HTTPS URI (üle TLS krüptitud kanalid). Ehkki standard ise ei nõua krüptimise kasutamist, on kõik peamised brauseri rakendused (st Firefox [09], Chrome, Safari, Opera, IE, Edge) on otsustanud ainult toetage HTTP / 2 üle TLS.

Tegelikult eristavad brauserid krüptitud selge teksti HTTP / 2 ja HTTP / 2 vahel TLS kahe erineva protokollina. Krüptitud HTTP / 2 kutsutakse h2 ja selge tekst h2c. Selle kirjutise seisuga ei toeta ükski suurem brauser h2c , Mis tähendab, et TLS krüptimine on veebisaidil kohustuslik, et kasutada ära HTTP / 2 muid eeliseid. Seega, kui HTTP / 2-st saab veebivõrgu vaikeprotokoll, saavad pärandsaitide omanikud, kes pole veel SSL-i /TLS, on see kindlalt motiveeritud seda lõpuks tegema.

Järeldus

Laialdane HTTP / 2 kasutuselevõtt loob uue ja täiustatud veebi. See on kiirem, vajab vähem ribalaiust ja aitab veebisaitidel turvalisena püsida. Selle tavapärane kasutuselevõtt muudab kindlasti veebikasutajate kogemuse sujuvamaks ja turvalisemaks.

Hankige tunnistus juba täna ja liituge meiega tulevikus.

Tehtud tööd

  1. HTTP-protokoll
  2. SPDY protokoll
  3. HTTP / 2 spetsifikatsioon
  4. W3Techs HTTP / 2 vastuvõtmise uuring
  5. HTTP / 2 vastuvõtmine brauserites
  6. httpbis harta
  7. HOL blokeerimine
  8. Multiplexing
  9. Firefox HTTP / 2-l

Olge kursis ja turvaline

SSL.com on ülemaailmne küberturvalisuse liider, PKI ja digitaalsed sertifikaadid. Registreeruge, et saada valdkonna uusimaid uudiseid, näpunäiteid ja tooteteateid SSL.com.

SSL.com

Meile meeldiks teie tagasiside

Osalege meie küsitluses ja andke meile teada oma mõtted oma hiljutise ostu kohta.

Privaatsuse ülevaade
SSL.com

See veebisait kasutab küpsiseid, et saaksime pakkuda teile parimat võimalikku kasutajakogemust. Präänikuandmeid salvestatakse teie brauseris ja see täidab selliseid funktsioone nagu teie veebisaidile naasmisel teie äratundmine ja meie meeskonna abistamine, millised veebisaidi jaotised teile kõige huvitavamad ja kasulikud on.

Lisateabe saamiseks lugege meie lehte Präänik ja privaatsusavaldus.

Kolmanda osapoole küpsised

See veebisait kasutab Google Analytics & Statcounter anonüümse teabe, näiteks saidi külastajate arvu ja kõige populaarsemate lehtede, kogumiseks.

Nende küpsiste lubamine aitab meil oma veebisaiti paremaks muuta.

Näita detaile