Mi a HTTP / 2 és mit csinál?



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Az elmúlt 20 évben a világháló drámai módon fejlődött. Az összes továbbfejlesztett webes technológia jobb és gyorsabb megoldásokat és protokollokat igényel a kommunikációhoz és a fájlok átviteléhez, mint a jelenlegiek (HTTP), amelyek elérik technológiai korlátaikat.





Mi a HTTP / 2?

A HTTP / 2 a Hypertext legújabb verziója Transport Protocol (HTTP) - az alapul szolgáló protokoll, amelyet a világháló használ . Eredetileg 2015 februárjában hagyták jóvá. Ez majdnem 20 évvel az eredeti HTTP után. A HTTP / 2 csökkenti a betöltési időket, és hatalmas fejlesztéseket hoz a szerverek és a böngészők közötti kommunikációban. A böngészők többsége már hozzáadta a HTTP / 2-t, és ez sok mindent nem változtatott meg a felhasználók szempontjából. Ez a fő oka annak, hogy sokan közülünk még nem olvastak vagy hallottak róla.



Mit csinál a HTTP / 2?

A HTTP utódjaként A HTTP / 2 a HTTP összes jellemzőjének javítására összpontosít . A visszafelé kompatibilitás fenntartása érdekében a régebbi protokollal megtartja a HTTP legtöbb funkcióját. Néhány drasztikus fejlesztést mutat be.

Mind a HTTP, mind a HTTP / 2 meghatározza:

  • Milyen műveleteket kell végrehajtania a webböngészőknek és a szervereknek a különböző parancsokra válaszul?
  • Hogyan továbbít minden egyes információt az internetről az egyik számítógépre a másikra.
  • Az üzenetek létrehozása, formázása és továbbítása.

Más szavakkal, a HTTP és a HTTP / 2 meghatározza a webtartalom számítógépre történő továbbításának szabványait, azzal a különbséggel, hogy a HTTP / 2 mindent gyorsabbá tesz, mint elődje. Itt láthatja, hogy a HTTP / 2 mit csinál részletesen.



Multiplexelt folyamok

A HTTP / 2 protokollon keresztül egy szerver és kliens között küldött szöveges formátumú keretek kétirányú sorozatait „adatfolyamoknak” nevezzük. A HTTP egyszerre csak ezeknek a „streameknek” a továbbítására képes. Az adatfolyam elküldése után késleltetés következik a következő adatátvitel között.

A HTTP / 2 létrehoz egy új bináris keretező réteget, amely közvetlenül megoldja a problémát a „folyamok” egyesével történő továbbításával. Lehetővé teszi az ügyfelek és szerverek számára, hogy a HTTP / 2 hasznos terheit apró, független és könnyen kezelhető, egymásba illesztett keretrendszerekre bontsák. Mindezeket az információkat újra összeállítjuk, amint megkapjuk a másik végén. Ez a protokoll lehetővé teszi több, egyidejűleg nyitott és független kétirányú szekvencia cseréjét késés nélkül az egymást követő folyamok között.

Előnyök:

  • A párhuzamos multiplexelt kérések és válaszok nem blokkolják egymást.
  • Egyetlen TCP kapcsolat biztosíthatja a hálózati erőforrások hatékony felhasználását akkor is, ha több adatfolyamot továbbít.
  • Gyorsabb webes teljesítmény, csökkentett késleltetés és jobb keresőmotorok eredményei.
  • Csökkentett CapEx és OpEx a hálózati és informatikai erőforrások futtatásában.

HTTP / 2 kiszolgáló és gyorsítótár nyomás

Ez olyan képesség, amely lehetővé teszi a szerverek számára, hogy további gyorsítótárazott információkat küldjenek az ügyfeleknek . Ezeket az információkat nem kérik, de várhatóan a jövőbeni kérésekre számítanak. Ha az ügyfél egy A erőforrást kér, és ismert, hogy egy másik B erőforrásra hivatkoznak a kért erőforrással, akkor a kiszolgáló B-t nyomhat A-val együtt, ahelyett, hogy újabb ügyfél-kérésre várna. Ezután az ügyfél a letolt B erőforrást a gyorsítótárba menti későbbi felhasználás céljából. Ez a szolgáltatás egy teljes kérés-válasz oda-vissza menetet ment és csökkenti a hálózati késést. A Google eredetileg az SPDY protokollban vezette be a Server Push-ot.

A HTTP / 2 másik fejlesztése a Cache Push. Ez proaktív módon frissíti vagy érvényteleníti az ügyfél gyorsítótárát. Ez lehetővé teszi a szerverek számára, hogy azonosítsák azokat a lehetséges erőforrásokat, amelyekre az ügyfelek valójában nem vágynak.

Előnyök:

  • Az ügyfelek visszautasíthatják a leküldött erőforrásokat a gyorsítótárazott erőforrások hatékony tárházának fenntartása érdekében (vagy akár teljesen letilthatják a Server Push-ot).
  • Az ügyfelek korlátozhatják az egyidejűleg multiplexelt push streamek számát.
  • A kiszolgálók fontossági sorrendbe állíthatják az erőforrásokat. Ez kulcsfontosságú a HTTP / 2 és a HTTP közötti teljesítménykülönbségben.
  • A kiszolgálók ugyanazon TCP-kapcsolaton belül multiplexelhetik az erőforrásokat és az ügyfél által kért információkat.
  • Az ügyfelek különböző oldalakon használhatják a gyorsítótárazott erőforrásokat.
  • Az ügyfelek eltolt erőforrásokat mentenek a gyorsítótárba.

Bináris protokollok

A HTTP / 2 jelentősen továbbfejlesztett képességekkel rendelkezik a szöveges protokoll bináris protokolltá történő átalakításakor . Míg a HTTP a szöveges parancsok feldolgozására szolgált a kérelem-válasz ciklusok végrehajtásához, a HTTP / 2 bináris parancsokra támaszkodik. Ez lerövidíti az azonos feladatok végrehajtásának idejét (1-re és 0-ra).

A HTTP / 2 támogatással rendelkező böngészők a szöveges parancsokat bináris kódokká konvertálják, mielőtt továbbítanák a hálózaton. A bináris keretező réteg azonban nem kompatibilis a HTTP szerverekkel és az ügyfelekkel.

Előnyök:

  • A HTTP szöveges jellegével kapcsolatos biztonsági problémák megelőzése (pl. Válaszfelosztási támadások).
  • Engedélyezi a HTTP / 2 képességeket, például a tömörítést, a prioritásokat, a multiplexelést, a TLS hatékony kezelését és az áramlásszabályozást.
  • A parancsok kompakt ábrázolása, amely megkönnyíti a végrehajtást és a feldolgozást.
  • Robusztus és hatékony adatfeldolgozás az ügyfelek és a szerverek között.
  • Javított áteresztőképesség és csökkentett hálózati késés.
  • A HTTP-vel összehasonlítva kevesebb az esély a hibákra.
  • Rendkívül hatékony hálózati erőforrás-kihasználás.
  • Alacsony rezsi az adatok elemzésében.
  • Könnyebb a hálózati lábnyom.

Adatfolyam prioritása

A HTTP / 2 lehetővé teszi az ügyfelek számára, hogy preferenciákat adjanak meg az egyes adatfolyamokhoz. A szerverek nem kötelesek betartani ezen ügyfelek utasításait, de ez a mechanizmus lehetővé teszi a szerverek számára, hogy a felhasználói igények alapján optimalizálják a hálózati erőforrások elosztását .

Az adatfolyam-prioritás úgy működik, hogy az egyes folyamokhoz hozzárendelt súly és függőségek vannak. Annak ellenére, hogy minden folyam eredendően függ egymástól, kivéve, ezek súlya 1 és 256 között van. Az adatfolyam-prioritási mechanizmusok még mindig vita tárgyát képezik. Ha azonban az adatfolyam-priorizálás kombinálva van több adatfolyam egyetlen TCP-kapcsolaton keresztüli feldolgozásának HTTP / 2-képességével, az különböző prioritású kiszolgálói kérelmek egyidejű megérkezéséhez vezethet.

Előnyök:

  • A hálózati késleltetéssel kapcsolatos aggályok csökkentett negatív hatásai.
  • Javított felhasználói élmény és oldalbetöltési sebesség.
  • Optimalizálás a szerverek és az ügyfelek közötti adatkommunikációban.
  • Rendkívül hatékony hálózati erőforrás-kihasználás.
  • Az elsődleges tartalmi kérelmek rövidített szállítási ideje.

Állapotos fejléctömörítés

Amikor a felhasználók böngésznek gazdag médiatartalmú webhelyeket a HTTP segítségével, az ügyfelek több, közel azonos fejléckeretet nyomnak. Ez az eset azért van, mert minden ügyfélkérésnek annyi információt kell tartalmaznia, amennyit a szerver a kért művelet végrehajtásához igényel. Ez a folyamat késleltetéshez és felesleges erőforrás-fogyasztáshoz vezet.

A HTTP / 2 magában foglalja a redundáns fejlécek nagy számának tömörítését. A HPACK specifikációra támaszkodik, mint biztonságos és egyszerű megközelítés a fejléc tömörítésére . Az ügyfelek és a kiszolgálók a korábbi ügyfél-kiszolgáló kérelmekben használt fejlécek listáját tartják fenn. Ez közvetlenül megoldja a redundáns fejléckeretekkel kapcsolatos aggályokat.

Előnyök:

  • A gyakran használt fejléceket és a nagy fejléceket kódolja. Így nincs szükség teljes fejléckeretek küldésére. Az egyes folyamok egyedi mérete jelentősen csökken.
  • Az olyan biztonsági támadások megelőzése, mint például az adatfolyamok tömörített fejlécekkel történő felfedezése.
  • A multiplexelő mechanizmusok hatékony kihasználása.
  • Hatékony adatfolyam-prioritás.
  • Csökkentett erőforrás-rezsi.

A HTTP / 2 valós előnyei

A HTTP / 2 a technológia lehetőségeinek maximalizálására összpontosít , hogy megfeleljen a jövőbeni igényeknek és elvárásoknak. Itt vannak a HTTP / 2 használatának valós előnyei.

Web Performance és mobil web teljesítmény - A HTTP / 2 képes több adatot küldeni és fogadni egy kliens-szerver kommunikációs ciklus alatt. Jól működik, ha csökkenti a mobil adathálózatok és az egy felhasználónkénti korlátozott sávszélességű hálózatok internetes szolgáltatásaihoz való hozzáférés késleltetését.

Olcsóbb nagysebességű internet - A HTTP / 2 növeli az adatkommunikáció hatékonyságát. Ez lehetővé teszi az internet-szolgáltatók számára, hogy csökkentse az általános költségeket, miközben megtartja a nagy sebességű internet szabványait.

Biztonság - A HTTP / 2 nem sérülékeny a szöveges alkalmazásréteg-protokollokat célzó fenyegetésekkel szemben. Ezenkívül a „Biztonság bizonytalansággal” megközelítést alkalmazza az ügyfelek és a szerverek közötti érzékeny adatátvitel védelmére.

Kiterjedt elérés - A HTTP / 2 előnyei csökkentik az internet kimenetelét a szolgáltatók számára. Ez szélesebb körű internetes lefedettséghez vezet világszerte.

Média-gazdag webes élmény - A HTTP / 2 által a világhálóra bevezetett technológiai jellemzők és előnyök olyan infrastruktúrát nyújtanak, amely képes médiumokban gazdag tartalom gyorsabb oldalbetöltési sebességgel történő továbbítására.

Csomagolás

A HTTP / 2 viszonylag új protokoll, de a támogatása folyamatosan növekszik. Manapság a legtöbb internetes böngésző támogatja a HTTP / 2-t (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome for Android). Sok webszerver tartalmaz HTTP / 2 natív támogatást (Apache HTTP Server, Tomcat, NGINX). Kétségtelen, hogy a HTTP / 2 a jövő WWW-protokollja.

5 perc olvasás