Kas yra HTTP / 2 ir ką jis veikia?



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Per pastaruosius 20 metų pasaulinis internetas smarkiai išsivystė. Visoms patobulintoms žiniatinklio technologijoms reikia geresnių ir greitesnių komunikacijos ir failų perdavimo sprendimų ir protokolų nei dabartiniams (HTTP), kurie pasiekia savo technologines ribas.





Kas yra HTTP / 2?

HTTP / 2 yra naujausia „Hypertext“ versija Transport Protocol (HTTP) - pagrindinis protokolas, kurį naudoja internetas . Iš pradžių jis buvo patvirtintas 2015 m. Vasario mėn. Praėjo beveik 20 metų po pirminio HTTP. HTTP / 2 sutrumpina apkrovos laiką ir žymiai pagerina ryšį tarp serverių ir naršyklių. Dauguma naršyklių jau pridėjo HTTP / 2, ir tai nepakeitė daugelio dalykų iš vartotojų perspektyvos. Tai yra pagrindinė priežastis, kodėl daugelis iš mūsų dar neskaitėme ir negirdėjome.



Ką veikia HTTP / 2?

Kaip HTTP įpėdinis, HTTP / 2 pagrindinis tikslas yra pagerinti visas HTTP charakteristikas . Siekiant išlaikyti suderinamumą su senesniu protokolu, jis išlaiko didžiąją dalį HTTP funkcionalumo. Tačiau jame pateikiami keli kardinalūs patobulinimai.

Tiek HTTP, tiek HTTP / 2 apibrėžia:

  • Kokius veiksmus interneto naršyklės ir serveriai turi atlikti atsakydami į skirtingas komandas.
  • Kaip kiekvienas informacijos taškas perkeliamas iš vieno kompiuterio į kitą kompiuterį per internetą.
  • Kaip kuriami, formatuojami ir perduodami pranešimai.

Kitaip tariant, HTTP ir HTTP / 2 nustato standartus, kaip žiniatinklio turinys perduodamas į jūsų kompiuterį, su tuo skirtumu, kad HTTP / 2 daro viską greičiau nei pirmtakas. Čia galite išsamiai sužinoti, ką daro HTTP / 2.



Sudėtiniai srautai

Dviejų krypčių teksto formato kadrų, siunčiamų per HTTP / 2 protokolą tarp vieno serverio ir kliento, serijos vadinamos „srautais“. HTTP vienu metu gali perduoti tik vieną iš šių „srautų“. Nusiuntus srautą, tarp kito srauto perdavimo yra laiko vėlavimas.

HTTP / 2 sukuria naują dvejetainį kadravimo sluoksnį, kuris tiesiogiai išsprendžia „srautų“ perdavimo po vieną problemą. Tai leidžia klientams ir serveriams suskaidyti HTTP / 2 naudingąją apkrovą į mažas, nepriklausomas ir lengvai valdomas persipynusių kadrų sekas. Visa ši informacija yra surenkama, kai tik gaunama kitame gale. Šis protokolas leidžia keistis keliomis, tuo pačiu metu atviromis ir nepriklausomomis dvikryptėmis sekomis be vėlavimo tarp vienas po kito einančių srautų.

Privalumai:

  • Lygiagrečiai sutankintos užklausos ir atsakymai vienas kito neužblokuoja.
  • Vienas TCP ryšys gali užtikrinti efektyvų tinklo išteklių naudojimą net perduodant kelis duomenų srautus.
  • Greitesnis žiniatinklio našumas, mažesnė vėlavimo trukmė ir geresni paieškos sistemų rezultatai.
  • Mažesnis „CapEx“ ir „OpEx“ vykdant tinklo ir IT išteklius.

HTTP / 2 serverio stumdymas ir talpyklos stumdymas

Tai yra galimybė, leidžianti serveriams klientams siųsti papildomą informaciją apie talpyklą . Ši informacija neprašoma, tačiau numatoma, kad bus pateikta būsimų užklausų. Jei klientas prašo vieno ištekliaus A ir yra žinoma, kad kitam šaltiniui B nurodomas prašomas, serveris gali stumti B kartu su A, užuot laukęs kito kliento prašymo. Tada klientas išsaugo perkeltą išteklių B talpykloje, kad būtų galima naudoti ateityje. Ši funkcija išsaugo visą užklausos ir atsakymo į abi puses procesą ir sumažina tinklo vėlavimą. Iš pradžių „Google“ pristatė „Server Push“ SPDY protokole.

Kitas HTTP / 2 patobulinimas yra „Cache Push“. Tai aktyviai atnaujina arba daro negaliojančią kliento talpyklą. Tai suteikia galimybę serveriams nustatyti galimus iš karto gaunamus išteklius, kurių klientai iš tikrųjų nenori.

Privalumai:

  • Klientai gali atsisakyti išstumtų išteklių, kad išlaikytų veiksmingą talpykloje talpinamų išteklių saugyklą (arba net visiškai išjungti „Server Push“).
  • Klientai gali apriboti vienu metu multipleksuojamų srautų skaičių.
  • Serveriai gali teikti prioritetą išstumtiems ištekliams. Tai yra pagrindinis efektyvumo skirtumo tarp HTTP / 2 ir HTTP raktas.
  • Serveriai gali dauginti išstumtus išteklius kartu su kliento prašoma informacija per tą patį TCP ryšį.
  • Klientai gali naudoti talpykloje esančius išteklius skirtinguose puslapiuose.
  • Klientai išsaugo išstumtus išteklius talpyklos atmintyje.

Dvejetainiai protokolai

HTTP / 2 turi žymiai patobulintas galimybes transformuojant teksto protokolą į dvejetainį protokolą . Nors HTTP naudojamas apdoroti teksto komandas užklausos-atsakymo ciklams vykdyti, HTTP / 2 remiasi dvejetainėmis komandomis. Tai sutrumpina tų pačių užduočių atlikimo laiką (iki 1s ir 0s).

Naršyklės, turinčios HTTP / 2 palaikymą, konvertuos teksto komandas į dvejetainį kodą, prieš perduodamos jį per tinklą. Tačiau dvejetainis kadravimo sluoksnis atgaliniu būdu nesuderinamas su HTTP serveriais ir klientais.

Privalumai:

  • Apsaugos problemų, susijusių su HTTP tekstiniu pobūdžiu, prevencija (pvz., Atsako padalijimo atakos).
  • Įgalina HTTP / 2 galimybes, tokias kaip glaudinimas, prioritetų nustatymas, tankinimas, efektyvus TLS valdymas ir srauto valdymas.
  • Kompaktiškas komandų atvaizdavimas, leidžiantis lengviau įgyvendinti ir apdoroti.
  • Tvirtas ir efektyvus duomenų apdorojimas tarp klientų ir serverių.
  • Pagerintas pralaidumas ir sumažintas tinklo vėlavimas.
  • Mažesnė klaidų tikimybė, palyginti su HTTP.
  • Labai efektyvus tinklo išteklių naudojimas.
  • Mažai papildomų duomenų analizuojant duomenis.
  • Lengvesnis tinklo pėdsakas.

Srauto prioritetų nustatymas

HTTP / 2 leidžia klientams pateikti tam tikrų duomenų srautų nuostatas. Serveriai neprivalo vykdyti šių klientų nurodymų, tačiau šis mechanizmas leidžia serveriams optimizuoti tinklo išteklių paskirstymą, atsižvelgiant į vartotojo reikalavimus .

Srauto prioritetų nustatymas veikia su svoriu ir priklausomybėmis, priskirtomis kiekvienam srautui. Nepaisant to, kad visi srautai yra savaime priklausomi vienas nuo kito, išskyrus jų svorį, priskiriamą nuo 1 iki 256. Srauto prioritetų nustatymo mechanizmai vis dar yra diskusijų tema. Tačiau, kai srauto prioritetai derinami su HTTP / 2 galimybe apdoroti kelis duomenų srautus viename TCP ryšyje, vienu metu gali atsirasti skirtingų prioritetų serverio užklausų.

Privalumai:

  • Sumažintas neigiamas tinklo vėlavimo problemų poveikis.
  • Patobulinta vartotojo patirtis ir puslapio įkėlimo greitis.
  • Duomenų perdavimo tarp serverių ir klientų optimizavimas.
  • Labai efektyvus tinklo išteklių naudojimas.
  • Sutrumpintas pirminio turinio užklausų pristatymo laikas.

Valstybinis antraštės suspaudimas

Kai vartotojai naršo daugialypės terpės turinio svetaines naudodami HTTP, klientai stumia kelis beveik identiškus antraštės rėmelius. Taip yra todėl, kad kiekvienoje kliento užklausoje turi būti tiek informacijos, kiek reikia serveriui, norint atlikti prašomą operaciją. Šis procesas lemia vėlavimą ir nereikalingą išteklių naudojimą.

HTTP / 2 apima galimybę suspausti daug nereikalingų antraštės rėmelių. Jis remiasi HPACK specifikacijomis kaip saugiu ir paprastu antraštės glaudinimo metodu . Klientai ir serveriai tvarko antraščių, naudojamų ankstesnėse kliento-serverio užklausose, sąrašą. Tai tiesiogiai pašalina nereikalingų antraščių rėmelių problemas.

Privalumai:

  • Koduoja dažniausiai naudojamas antraštes ir dideles antraštes. Tai pašalina poreikį siųsti visus antraštės rėmelius. Kiekvieno srauto individualus dydis žymiai sumažėja.
  • Apsaugos nuo atakų, pvz., „CRIME“, duomenų srautų su suglaudintomis antraštėmis, prevencija.
  • Veiksmingas multipleksavimo mechanizmų panaudojimas.
  • Efektyvus srauto prioritetų nustatymas.
  • Sumažintos išteklių išlaidos.

Realūs HTTP / 2 pranašumai

HTTP / 2 yra orientuotas į maksimalų technologijų potencialo išnaudojimą , siekiant patenkinti ateities poreikius ir lūkesčius. Štai realūs HTTP / 2 naudojimo pranašumai.

„Web Performace“ ir „Web Mobile Performance“ - HTTP / 2 gali siųsti ir gauti daugiau duomenų per vieną kliento ir serverio ryšio ciklą. Tai gerai padeda sumažinti interneto prieigos mobiliuosiuose duomenų tinkluose ir tinkluose, kurių pralaidumas vienam vartotojui yra ribotas, vėlavimą.

Pigesnis spartusis internetas - HTTP / 2 padidina duomenų perdavimo efektyvumą. Tai leidžia interneto tiekėjams sumažinti bendras išlaidas, išlaikant spartaus interneto standartus.

Saugumas - HTTP / 2 nėra pažeidžiamas grėsmių, nukreiptų į tekstinius programų sluoksnio protokolus. Be to, siekiant apsaugoti neskelbtinus duomenis tarp klientų ir serverių, jis naudoja metodą „Saugumas pagal neaiškumą“.

Platus pasiekiamumas - HTTP / 2 pranašumai sumažina interneto teikėjų rezultatus. Tai paskatins platesnę interneto aprėptį visame pasaulyje.

Žiniasklaidoje turtinga žiniatinklio patirtis - Technologinės ypatybės ir pranašumai, kuriuos HTTP / 2 atneša į internetą, suteikia infrastruktūrą, galinčią pateikti daugialypės terpės turinį didesniu puslapio įkėlimo greičiu.

Apvyniokite

HTTP / 2 yra palyginti naujas protokolas, tačiau jo palaikymas nuolat auga. Šiais laikais dauguma interneto naršyklių palaiko HTTP / 2 („Microsoft Edge“, „Google Chrome“, „Safari“, „Firefox“, „Chrome“, skirtą „Android“). Daugelyje žiniatinklio serverių yra HTTP / 2 vietinis palaikymas („Apache HTTP Server“, „Tomcat“, NGINX). Be abejo, HTTP / 2 yra ateities WWW protokolas.

5 minutes perskaityta