Co je to HTTP / 2 a jak to ovlivňuje budoucnost internetu?

  • Michael Cain
  • 0
  • 5016
  • 1207
reklama

Možná jste ještě neslyšeli o HTTP / 2, ale je to nejnovější aktualizace HTTP. Nový standard protokolu zavádí některé nové koncepty a zrychluje a zefektivňuje komunikaci mezi servery a aplikacemi.

Co je to HTTP / 2?

Protokol HyperText Transfer Protocol verze 2 nebo HTTP / 2 je první hlavní aktualizací protokolu HTTP za 15 let.

Předchozí standard protokolu HTTP / 1.1 se používá od roku 1997 a používá kombinaci neohrabaných řešení pro vylepšení omezení HTTP.

Je založeno na SPDY (“rychlý”), experiment s otevřeným zdrojovým kódem zahájený společností Google, který řeší některé problémy a omezení protokolu HTTP / 1.1

IETF (Internet Engineering Task Force) specifikuje takové změny v Hypertext Transfer Protocol verze 2, Draft 17:

“HTTP / 2 umožňuje efektivnější využití síťových zdrojů a snížené vnímání latence zavedením komprese pole záhlaví a umožněním více souběžných výměn na stejném připojení […]

“Umožňuje také upřednostňování požadavků, umožnění rychlejšího vyplnění důležitějších požadavků a další zlepšení výkonu.”

“HTTP / 2 také umožňuje efektivnější zpracování zpráv pomocí binárního rámování zpráv.”

“Tato specifikace je alternativou, nikoli však zastaralou, syntaxí zprávy HTTP / 1.1. Existující sémantika HTTP zůstává nezměněna.”

HTTP / 2 je založen na SPDY

Do roku 2012 již většina moderních prohlížečů a mnoho oblíbených webů (Google, Twitter, Facebook atd.) SPDY podporovalo. S rostoucí popularitou SPDY začala pracovní skupina HTTP (HTTP-WG) pracovat na aktualizaci standardu HTTP.

Od tohoto okamžiku se SPDY stala základem a experimentální větví pro nové funkce v HTTP / 2. V té době jsme zkoumali, jak může SPDY vylepšit prohlížení Co je SPDY a jak může maximalizovat váš zážitek z prohlížení? Co je SPDY a jak může maximalizovat váš zážitek z prohlížení? . Od té doby byl standard verze 2 navržen, schválen a zveřejněn.

Mnoho funkcí od společnosti SPDY bylo začleněno do protokolu HTTP / 2 a Google nakonec tento protokol na začátku roku 2016 přestal podporovat.

Většina prohlížečů nakonec zastavila podporu SPDY a protože neexistují žádné alternativy, stává se HTTP / 2 de facto standardem.

Zatímco standard protokolu HTTP / 2 není přísně zpětně kompatibilní s HTTP / 1, kompatibilitu lze dosáhnout překladem. Klient pouze HTTP / 1.1 nerozumí pouze serveru HTTP / 2 a naopak, proto je nová verze protokolu HTTP / 2 a ne HTTP / 1.2.

Důležitou součástí práce, kterou poskytuje HTTP-WG, je zajistit, aby HTTP / 1 a HTTP / 2 bylo možné překládat sem a tam bez ztráty informací.

Všechny nové zavedené mechanismy nebo funkce budou také nezávislé na verzi a zpětně kompatibilní s existujícím webem.

HTTP / 2 není opravdu něco, co může uživatel implementovat, ale existují věci, které můžeme udělat, abychom ovlivnili naši rychlost prohlížení. Věříte některému z těchto běžných mýtů, abyste urychlili rychlost internetu? 5 mýtů o zvýšení rychlosti internetu a proč nefungují 5 mýtů o zvýšení rychlosti internetu a proč nefungují Rychlost internetu je v 21. století kritickým měřítkem. Existuje však mnoho dezinformací o tom, jak zrychlit připojení. Zde je pět mýtů, kterým byste neměli věřit.

Výhody a vlastnosti HTTP / 2

HTTP / 2 přichází s několika skvělými aktualizacemi standardu HTTP. Mezi nejdůležitější patří binární rámování, multiplexování, prioritizace toku, řízení toku a serverový tlak.

Binární rámování

Zprávy HTTP od mfuji09 jsou licencovány pod licencí CC-BY-SA 2.5.

Po aktualizaci na HTTP2 / je komunikace protokolu HTTP rozdělena na výměnu binárně kódovaných rámců. Tyto rámce jsou mapovány na zprávy, které patří do určitého proudu. Proudy jsou pak multiplexovány (tkané dohromady ve smyslu) v jediném TCP spojení.

Nová binární rámcová vrstva zavádí nějakou novou terminologii; Streamy, zprávy a rámce.

  • Toky jsou obousměrné toky bajtů, které přenášejí jednu nebo více zpráv.
  • Každý z těchto toků má jedinečný identifikátor a může přenášet obousměrné zprávy pomocí volitelných informací o prioritě.
  • Rámce jsou nejmenší jednotkou komunikace v HTTP / 2, která obsahuje konkrétní sady dat (hlavičky HTTP, užitečná zatížení zpráv atd.). Záhlaví bude minimálně identifikovat tok, do kterého rámec patří.
  • Zprávy jsou kompletní sadou rámců, které mapují na logický požadavek nebo zprávu s odpovědí.
  • Každá zpráva je logická zpráva HTTP, jako je žádost nebo odpovědi, složená z jednoho nebo více rámců.

To nám umožňuje použít jediné připojení TCP, pro to, co v minulosti vyžadovalo více.

Multiplexování

HTTP / 1.1 zajišťuje, že na jedno připojení může být doručena pouze jedna odpověď najednou. Prohlížeč otevře další připojení TCP, pokud klient chce provést více paralelních požadavků.

HTTP / 2 odstraňuje toto omezení HTTP / 1.1 a umožňuje plné požadavky a multiplexování odpovědí. To znamená, že klient a server mohou rozdělit zprávu HTTP do nezávislých rámců, které se poté prokládají a znovu sestavují na druhém konci..

Celkově se jedná o nejdůležitější vylepšení HTTP / 2, protože částečně eliminuje potřebu více připojení. To zase přinese řadu výhod výkonu ve všech webových technologiích.

Snížený počet připojení znamená méně handshakes protokolu Transport Layer Security (TLS), lepší opětovné použití relací a celkové snížení požadavků na prostředky klientů a serverů. Díky tomu je nasazení aplikací rychlejší, jednodušší a levnější.

Webové stránky s mnoha externími daty (obrázky nebo skripty) uvidí největší nárůst výkonu z multiplexování HTTP / 2.

Prioritizace a závislost toku

Další vylepšení multiplexovaných toků se provádí v závislosti na hmotnosti a proudu. HTTP / 2 nám umožňuje dát každému toku váhu (hodnotu mezi 1 a 256) a učinit jej explicitně závislým na jiném proudu.

Tato kombinace závislosti a váhy vede k vytvoření stromu prioritizace, který serveru říká, jak by klient raději přijímal odpovědi.

Server použije informace ve stromu prioritizace k řízení alokace CPU, paměti a dalších zdrojů, jakož i přidělování šířky pásma, aby zajistil, že klient obdrží optimální doručení odpovědí s vysokou prioritou.

Řízení toku

Problémy s řízením toku v HTTP / 2 jsou podobné HTTP / 1.1. Protože však jsou proudy HTTP / 2 multiplexovány v rámci jediného připojení TCP, způsob řízení toku v HTTP / 1.1 již není účinný.

Stručně řečeno, je třeba řízení toku, aby se zabránilo vzájemnému rušení toků způsobujících blokování. To umožňuje multiplexování. HTTP / 2 umožňuje použití různých algoritmů řízení toku, aniž by bylo nutné měnit protokoly.

V HTTP / 2 není uveden žádný algoritmus pro řízení toku. Místo toho byla poskytnuta sada stavebních bloků, které pomáhají klientům a serverům používat vlastní řízení toku.

Specifika těchto stavebních bloků najdete v “Řízení toku” sekce internetového konceptu HTTP / 2.

Server Push

Při první návštěvě prohlížeče váš prohlížeč obvykle vyžádá a obdrží dokument HTML ze serveru. Server pak musí počkat, až prohlížeč analyzuje dokument HTML a odešle požadavek na vložené prostředky (CSS, JavaScript, obrázky atd.).

V HTTP / 1.1 server nemůže posílat tato aktiva, dokud si je prohlížeč nevyžádá, a každá aktiva vyžaduje samostatný požadavek (tj. Několik handshakes a připojení)..

Server push sníží latenci tím, že umožní serveru odeslat tyto prostředky bez výzvy, protože již ví, že klient je bude vyžadovat. Takže ve výše uvedeném příkladu bude server tlačit CSS, JavaScript (běžný skriptovací jazyk Co je JavaScript a jak to funguje? Co je JavaScript a jak to funguje? Co je Javascript? Je to programovací jazyk používaný k vylepšení webových stránek. Zahrnuje dynamickou aktualizaci webových stránek, uživatelských rozhraní atd. Pojďme se pustit do toho, o čem je Javascript, vše na webových stránkách), a obrázky do prohlížeče pro rychlejší zobrazení stránky.

V zásadě server push umožňuje serveru odeslat více odpovědí na jeden požadavek klienta.

I když ručně, toto je účinek, který v současné době získáváme vložením CSS nebo JS do našich HTML dokumentů - tlačíme inline zdroj klientovi, aniž bychom čekali, až ho klient požádá..

Toto je velký krok od současného standardu HTTP přísného workflow one-to-one work-response.

Omezení HTTP / 2

SPDY měl mírně přísnější zásady zabezpečení a vyžadoval šifrování SSL pro všechna připojení. HTTPS / 2 nevyžaduje šifrování, ale mnoho služeb nebude poskytovat HTTP / 2 bez SSL.

Všechny hlavní prohlížeče podporují HTTP / 2, ale žádný z nich jej nepodporuje bez šifrování. Web CanIUs má skvělý přehled o současné podpoře prohlížeče pro HTTP / 2, jak je vidět výše.

Zpětná kompatibilita a překlady mezi HTTP / 1.1 a HTTP / 2 zpomalí rychlost načítání stránky.

Neexistuje žádný skutečný důvod, proč by šifrování již nemělo být výchozím nebo povinným nastavením. Pokud již na svém webu máte certifikát SSL, můžete zvýšit zabezpečení svého webu HTTPS povolením HSTS.

Je HTTP / 2 další velká věc?

Protokol HTTP / 2 byl navržen jako standard v polovině roku 2015 a většina prohlížečů k němu přidala podporu do konce tohoto roku. HTTP / 2 již ovlivňuje způsob fungování internetu a způsob, jakým spolu komunikují aplikace a servery.

Neexistují žádné požadavky na vynucení používání protokolu HTTP / 2, ale zatím to slouží pouze pro výhody a žádné nevýhody. Je to také docela malá změna z pohledu uživatele, ta, kterou si lidé opravdu nevšimnou.

Podle W3Tech, 31,7% z 10 miliónů nejlepších webů v současné době podporuje HTTP / 2. Nejrychlejším způsobem, jak pro většinu z vás povolit HTTP / 2 na vašem webu, je použít CDN Cloudflare.

Další navrhovaný standard (HTTP / 3) je již v práci a vychází z QUIC, dalšího experimentálního projektu společnosti Google. V říjnu letošního roku IETF'S HTTP-WG a pracovní skupina QUIC oficiálně požádaly QUIC, aby se stal novým celosvětovým standardem a přejmenoval na HTTP / 3.

? .




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.