Hlavní navigace

Schválení HTTP/2 přinese uživatelům rychlejší načítání webových stránek

Marek Janouš 19. 2. 2015

HTTP/2 neřeší všechny technické bolesti webu, standardizuje ale to, co uvítá každý uživatel: rychlejší načítání stránek. Prohlížeče i servery přejdou na nový protokol postupně.

Protokol HTTP/2 byl schválen řídící skupinou (Internet Engineering Steering Group) zodpovědnou za standardizaci technické stránky internetu; oznámil to včera na svém blogu Mark Nottingham, předseda pracovní skupiny pro HTTP, která standard vypracovala.

Uživatelé mohou od novinky čekat znatelné zrychlení načítání webů i bezpečnější šifrovaná spojení. Nový protokol by měl zjednodušit život vývojářům náročnějších internetových projektů, kteří musí omezení HTTP/1.1 ve snaze o výkon všelijak obcházet. Na straně serveru sníží HTTP/2 nároky jak na výpočetní výkon, tak na RAM.

HTTP/1.1 — pozůstatek z webového dávnověku

Protokol HTTP/1.1 má už skoro šestnáct let. Vznikl v době, kdy byly webové stránky mnohem jednodušší: v časech, kdy se vám nejprve načetl holý text, a pak jste (mnohdy připojeni „vytáčeným spojením“, s přenosovou rychlostí o tři řády nižší, než je běžné dnes) čekali na dotažení několika silně zkomprimovaných obrázků.

Nyní je třeba na zobrazení průměrné webové stránky přenést skoro dva megabajty dat, ale vadí především to, že průměrná dnešní stránka se skládá až ze stovky zdrojů (součástí s vlastní webovou adresou). Prohlížeče na to zpravidla otevírají řadu TCP spojení současně, protože požadavky odeslané podle HTTP/1.1 musí server i při využití pipeliningu odeslat ve stejném pořadí, v jakém o ně požádal klient. Přenosový protokol TCP přitom vůbec nebyl navržen tak, aby dobře obsluhoval hromadu souběžných spojení k jedinému klientu. Síť se tím „ucpává“, mimo to se část dat (a sice HTTP hlavičky) přenáší zbytečně opakovaně.

HTTP/2 je nová implementace toho, jak si mezi sebou posílají HTTP požadavky webový server a klient. Oproti HTTP/1.1 dovoluje přenášet mnoho požadavků současně skrze jediné otevřené TCP spojení. Server může navíc poslat klientovi rovnou i to, oč ještě nepožádal, jelikož v době prvotního požadavku na webovou stránku ještě „nevěděl“, že to bude k zobrazení stránky rovněž potřebovat.

Z pohledu uživatele i vývojářů však HTTP/2 zachovává sémantiku HTTP, tedy pojmy a významy: HTTP adresy (URL čili URI), metody, stavové kódy, a všechny hlavičky, u kterých to dává smysl. HTTP/2 je sémanticky v zásadě zpětně kompatibilní s HTTP/1.1, nezaručuje však funkčnost obezliček postavených na nestandardních chováních.

Uživatel si HTTP/2 nastavit nemusí

Uživatel dostane podporu pro HTTP/2 v prohlížeči, nemusí přitom povolovat nic v jeho nastaveních. HTTP/2 se uplatní, jestliže se na tomto způsobu přenosu domluví klient (tedy například prohlížeč) s webovým serverem.

Google ohlásil 9. února, že podporu pro HTTP/2 v Google Chromu 40 „postupně rozvine“ v následujících týdnech. Za Firefox popisuje Patrick McManus, vývojář pracující na jeho síťové části, jak budou jednotlivé verze Firefoxu postupně přecházet na podporu schváleného standardu a opouštět podporu pro předběžné implementace.

Ve Firefoxu lze zjišťovat právě užívaný protokol tímto rozšířením.

Internet Explorer není tak docela samostatným prohlížečem, je vestavěn do Windows, a podpora pro HTTP/2 se prozatím týká pouze Windows 10 Technical Preview. Užívaný protokol lze zjistit v nástrojích pro vývojáře (F12).

Tvůrci všech rozšířených prohlížečů zamýšlejí podporovat HTTP/2 pouze přes TLS (Transport Layer Security), tedy přes šifrovaná spojení, přestože standard sám dovoluje i spojení nešifrovaná.

Postup zavádění HTTP/2 v serverech, v jiných klientech, v programovacích jazycích a v dalších síťových nástrojích je zanášen do seznamu implementací.

Cestu prorážel SPDY, teď ustoupí

Načítání webových stránek se v Googlu snažili zrychlit už koncem minulé dekády. Bylo to v zájmu Googlu, který přece dlouhodobě usiluje o to, abychom webové aplikace vnímali podobně jako aplikace instalované do počítače.

Už v roce 2009 Google představil pokusnou implementaci SPDY („speedy“). Na tu posléze navázaly další verze. SPDY ukázal, že o rychlejší web je velký zájem, stále ale chybělo standardizovaného řešení.

Pracovní skupina si vzala za základ SPDY/2. HTTP/2 je jeho přepracováním. Jak se povedlo? Takto se vyjádřil Roberto Peon, jeden z původních tvůrců SPDY, kteří se podíleli i na HTTP/2:

Nepodařilo se dosáhnout všeho, čeho jsem si přál — doufal jsem v lepší oddělení vrstvy rámcové od aplikační, protokoly předávání zpráv nikdy nebudou pracovat tak dobře, jak by mohly. Přesto je HTTP/2 zlepšením a šifrovaná spojení by přes něj měla být rychlejší.

Největší rozdíl oproti SPDY vidím ve způsobu upřednostňování — je mnohem pružnější, nadto přívětivější k proxy serverům. Skoro stejně zásadní je vylepšení komprese hlaviček. V HTTP/2 má sice nepatrně menší účinnost než gzip ve SPDY, je však mnohem rychlejší, a také šetrnější k paměti serveru.

Celkově je protokol HTTP/2 mnohem přesněji specifikován, než kdy bylo SPDY.

Našli jste v článku chybu?

19. 2. 2015 10:14

VM (neregistrovaný)

Protokol HTTP/1.1 vyžaduje otevřít pro každý zdroj nové TCP spojení.
Co takhle Connection: Keep-Alive ?
http://en.wikipedia.org/wiki/HTTP_persistent_connection



19. 2. 2015 18:54

Děkuji za zajímavý článek, konečně to někdo napsal srozumitelně i pro nesíťaře.

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Nejenom EET, začaly platit další zákony

Nejenom EET, začaly platit další zákony

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Podnikatel.cz: Dárky v podnikání. Jak je uplatnit v daních?

Dárky v podnikání. Jak je uplatnit v daních?

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

DigiZone.cz: Digi CZ výrazně zlevnila balíček HBO

Digi CZ výrazně zlevnila balíček HBO

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Měšec.cz: Golfové pojištění: kde si jej můžete sjednat?

Golfové pojištění: kde si jej můžete sjednat?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka