Čo je HTTP / 2 a čo robí?



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Za posledných 20 rokov sa sieť WWW dramaticky vyvinula. Všetky vylepšené webové technológie vyžadujú na komunikáciu a prenos súborov lepšie a rýchlejšie riešenia a protokoly ako súčasné protokoly (HTTP), ktoré dosahujú svoje technologické limity.





Čo je to HTTP / 2?

HTTP / 2 je najnovšia verzia Hypertextu Transportný protokol (HTTP) - základný protokol používaný webovou sieťou . Pôvodne bol schválený vo februári 2015. To je takmer 20 rokov po pôvodnom protokole HTTP. HTTP / 2 skracuje doby načítania a prináša obrovské vylepšenia v komunikácii medzi servermi a prehľadávačmi. Väčšina prehľadávačov už pridala protokol HTTP / 2 a z pohľadu používateľov to veľa vecí nezmenilo. To je hlavný dôvod, prečo to mnohí z nás ešte nečítali ani nepočuli.



Čo robí HTTP / 2?

Ako nástupca protokolu HTTP HTTP / 2 sa zameriava na zlepšenie všetkých charakteristík protokolu HTTP . Z dôvodu zachovania spätnej kompatibility so starším protokolom si zachováva väčšinu funkcií protokolu HTTP. Zavádza však niektoré drastické vylepšenia.

Oba protokoly HTTP alebo HTTP / 2 definujú:

  • Aké akcie musia webové prehliadače a servery vykonať v reakcii na rôzne príkazy.
  • Ako sa každý bit informácií prenáša z jedného do druhého počítača cez web.
  • Ako sa správy vytvárajú, formátujú a prenášajú.

Inými slovami, HTTP a HTTP / 2 stanovujú štandardy pre doručovanie webového obsahu do vášho počítača s tým rozdielom, že HTTP / 2 robí všetky veci rýchlejšie ako jeho predchodca. Tu môžete vidieť, čo robí HTTP / 2 podrobne.



Multiplexované toky

Obojsmerná séria rámcov textového formátu odosielaných prostredníctvom protokolu HTTP / 2 medzi jedným serverom a klientom sa nazýva „streamy“. Protokol HTTP je schopný prenášať iba jeden z týchto „tokov“ súčasne. Po odoslaní streamu existuje časové oneskorenie medzi ďalším prenosom streamu.

HTTP / 2 ustanovuje novú binárnu rámcovú vrstvu, ktorá priamo rieši problém s prenosom „streamov“ jeden po druhom. Umožňuje klientom a serverom rozložiť užitočné zaťaženie HTTP / 2 na malé, nezávislé a ľahko spravovateľné vložené rámcové sekvencie. Všetky tieto informácie sa znovu zhromaždia, raz sa dostanú na druhý koniec. Tento protokol umožňuje výmenu viacerých, súčasne otvorených a nezávislých obojsmerných sekvencií bez latencie medzi po sebe nasledujúcimi prúdmi.

Výhody:

  • Paralelné multiplexované požiadavky a odpovede sa navzájom neblokujú.
  • Jedno pripojenie TCP môže zabezpečiť efektívne využitie sieťových zdrojov aj pri prenose viacerých dátových tokov.
  • Vyšší výkon webu, znížená latencia a lepšie výsledky vyhľadávacieho nástroja.
  • Znížené CapEx a OpEx v prevádzke sieťových a IT zdrojov.

Push / Cache server HTTP / 2 Push

Toto je funkcia, ktorá umožňuje serverom posielať ďalšie informácie uložené do medzipamäte klientom . Tieto informácie sa nevyžadujú, ale očakávajú sa pri budúcich požiadavkách. Ak klient požaduje jeden prostriedok A a je známe, že na iný prostriedok B sa odkazuje s požadovaným, server môže namiesto čakania na ďalšiu požiadavku klienta stlačiť B spolu s A. Potom klient uloží natlačený zdroj B do medzipamäte pre ďalšie použitie. Táto funkcia šetrí celý proces obojsmernej reakcie na žiadosť a znižuje latenciu siete. Google pôvodne predstavil Server Push v protokole SPDY.

Ďalším vylepšením protokolu HTTP / 2 je Cache Push. Týmto sa proaktívne aktualizuje alebo zneplatňuje vyrovnávacia pamäť klienta. Toto dáva serverom schopnosť identifikovať možné tlačiteľné zdroje, ktoré klienti v skutočnosti nechcú.

Výhody:

  • Klienti môžu odmietnuť tlačené zdroje, aby si udržali efektívne úložisko zdrojov v medzipamäti (alebo dokonca úplne zakázať Server Push).
  • Klienti môžu súčasne obmedziť počet tlačených streamov multiplexovaných.
  • Servery môžu uprednostňovať tlačené zdroje. Toto je kľúč v rozdiele výkonu medzi HTTP / 2 a HTTP.
  • Servery môžu multiplexovať tlačené zdroje spolu s informáciami požadovanými klientom v rámci toho istého pripojenia TCP.
  • Klienti môžu použiť prostriedky vo vyrovnávacej pamäti na rôznych stránkach.
  • Klienti ukladajú tlačené prostriedky do pamäte cache.

Binárne protokoly

HTTP / 2 má výrazne vylepšené možnosti pri transformácii textového protokolu na binárny protokol . Zatiaľ čo protokol HTTP sa používal na spracovanie textových príkazov na vykonávanie cyklov požiadavka-odpoveď, HTTP / 2 sa spolieha na binárne príkazy. To skracuje čas (na 1 s a 0 s) na vykonávanie rovnakých úloh.

Prehliadače s podporou protokolu HTTP / 2 skonvertujú textové príkazy na binárny kód pred ich prenosom v sieti. Binárna rámcová vrstva však nie je spätne kompatibilná so servermi a klientmi HTTP.

Výhody:

  • Prevencia bezpečnostných obáv spojených s textovou povahou HTTP (napr. Útoky na rozdelenie odpovedí).
  • Umožňuje funkcie protokolu HTTP / 2, ako je kompresia, stanovenie priorít, multiplexovanie, efektívne spracovanie protokolu TLS a riadenie toku.
  • Kompaktné znázornenie príkazov umožňujúce ľahšiu implementáciu a spracovanie.
  • Robustné a efektívne spracovanie údajov medzi klientmi a servermi.
  • Vylepšená priepustnosť a znížená latencia siete.
  • Menej šancí na chyby v porovnaní s HTTP.
  • Vysoko efektívne využitie sieťových zdrojov.
  • Nízka réžia pri analýze údajov.
  • Ľahšia stopa v sieti.

Prioritizácia streamu

Protokol HTTP / 2 umožňuje klientom poskytovať predvoľby konkrétnym dátovým tokom. Servery nie sú povinní postupovať podľa pokynov týchto klientov, ale tento mechanizmus umožňuje serverom optimalizovať pridelenie sieťových prostriedkov na základe požiadaviek používateľov .

Prioritizácia streamu funguje s váhou a závislosťami priradenými ku každému streamu. Napriek skutočnosti, že všetky prúdy sú vo svojej podstate navzájom závislé, s výnimkou, majú priradenú váhu medzi 1 a 256. Mechanizmy určovania priorít prúdov sú stále predmetom diskusií. Ak je však priorita toku kombinovaná so schopnosťou HTTP / 2 spracovať viac tokov údajov v jednom pripojení TCP, môže to viesť k súčasnému príchodu požiadaviek servera s rôznou prioritou.

Výhody:

  • Znížené negatívne účinky týkajúce sa latencie siete.
  • Vylepšený dojem používateľa a rýchlosť načítania stránky.
  • Optimalizácia dátovej komunikácie medzi servermi a klientmi.
  • Vysoko efektívne využitie sieťových zdrojov.
  • Znížená doba dodania pre požiadavky na primárny obsah.

Stavová kompresia hlavičky

Keď používatelia prehliadajú webové stránky s bohatým obsahom médií pomocou protokolu HTTP, klienti tlačia na viac takmer identických rámcov hlavičiek. Je to tak, pretože každá požiadavka klienta musí obsahovať toľko informácií, koľko server vyžaduje na vykonanie požadovanej operácie. Tento proces vedie k latencii a zbytočnej spotrebe zdrojov.

HTTP / 2 obsahuje schopnosť komprimovať veľké množstvo nadbytočných rámcov hlavičiek. Spolieha sa na špecifikáciu HPACK ako bezpečný a jednoduchý prístup k kompresii hlavičiek . Klienti a servery udržiavajú zoznam hlavičiek použitých v predchádzajúcich požiadavkách typu klient-server. To priamo rieši problémy s nadbytočnými rámcami hlavičiek.

Výhody:

  • Zakóduje bežne používané hlavičky a veľké hlavičky. To eliminuje potrebu posielania celých rámcov hlavičiek. Individuálna veľkosť každého prúdu sa výrazne zmenšuje.
  • Prevencia bezpečnostných útokov, ako napríklad CRIME, skúmanie dátových tokov pomocou komprimovaných hlavičiek.
  • Efektívne využitie mechanizmov multiplexovania.
  • Efektívne stanovenie priorít streamu.
  • Znížená réžia zdrojov.

Skutočné výhody protokolu HTTP / 2

HTTP / 2 je zameraný na maximalizáciu potenciálu technológie , na splnenie budúcich potrieb a očakávaní. Tu sú skutočné výhody používania protokolu HTTP / 2.

Výkon na webe a výkon mobilného webu - HTTP / 2 má schopnosť odosielať a prijímať viac údajov v jednom komunikačnom cykle klient-server. Funguje dobre na zníženie latencie v prístupe k internetovým službám v mobilných dátových sieťach a sieťach s obmedzenou šírkou pásma na používateľa.

Lacnejší vysokorýchlostný internet - HTTP / 2 zvyšuje efektivitu dátovej komunikácie. To umožňuje poskytovateľom internetu znížiť celkové náklady pri zachovaní štandardov vysokorýchlostného internetu.

Bezpečnosť - HTTP / 2 nie je zraniteľný voči hrozbám zameraným na textové protokoly aplikačnej vrstvy. Ďalej používa prístup „Zabezpečenie neznámou“ na ochranu prenosu citlivých údajov medzi klientmi a servermi.

Expanzívny dosah - Výhody protokolu HTTP / 2 znižujú výsledky poskytovateľov internetu. To povedie k širšiemu internetovému pokrytiu na celosvetovej úrovni.

Mediálny zážitok z webu - Technologické vlastnosti a výhody, ktoré HTTP / 2 prináša do siete WWW, poskytujú infraštruktúru schopnú dodávať obsah bohatý na médiá pri vyšších rýchlostiach načítania stránok.

Zabaliť

HTTP / 2 je relatívne nový protokol, ale jeho podpora neustále rastie. V súčasnosti väčšina internetových prehliadačov podporuje protokol HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome pre Android). Mnoho webových serverov obsahuje natívnu podporu HTTP / 2 (Apache HTTP Server, Tomcat, NGINX). HTTP / 2 je bezpochyby WWW protokol budúcnosti.

5 minút čítania