Co byste měli vědět o HTTP/2

Pokud se snažíte dostat z WordPress maximum a rádi si hrajte zvláště na vlastním serveru anebo VPS, jistě vám neunikl nový HTTP/2. Jedná se o velký krok pro každého internetového uživatele, tedy momentálně spíše pro správce serverů, protože většina uživatelů už HTTP/2 dala zelenou tím, že používá jeden z nejrozšířenější internetových prohlížečů.

Proč HTTP/2 vznikl #

HTTP/1.1 tu s námi je už více jak 15 let. Za tu dobu se nároky uživatelů internetu posunuly a jeho stávající forma nevyhovuje. Současná internetová stránka je daleko více náročná na počet stahovaných prvků i velikost, než tomu bylo před patnácti lety.

Jaké jsou hlavní rozdíly oproti HTTP/1.1 #

HTTP/1 přenášel data jako text. HTTP/2 místo toho v binárním formátu. Důvodem je ušetření nákladů na přenos dat (byla vytvořená i nová komprese hlaviček), větší odolnost vůči chybám a pro přenos dat je binární formát přirozenější. Do budoucna se také dá spousta věcí zlepšovat.

Další změnou je multiplex. V rámci jednoho TCP spojení se vyřídí více požadavků naráz. Například v HTTP/1.0 se vše řešilo, požadavek za požadavkem, což v případě moderních webů by bylo nemyslitelné. Částečně to vyřešil, či spíše obešel HTTP/1.1. I tak když si necháte otestovat web dojde k takzvanému vodopádovému efektu, kdy prohlížeč pošle několik požadavků a musí čekat na odpovědi, než může poslat další.

Pak tu máme Server Push. Doposud si internetový prohlížeč musel říkat serveru o jednotlivé části stránky. Prohlížeč si stáhl HTML, zjistil že na něm je nějaký CSS a JavaScript a řekl si o ně. Teď server odhadne, co by pro webovou stránku mohl prohlížeč potřebovat a prostě mu to pošle naráz se vším všudy. Tím se ušetří serverové prostředky na jednotlivá spojení. Server nebude vždy posílat vše, například obrázky může mít už prohlížet v cache.

Proč se používá HTTP/2 a nebo HTTP/2.0 #

Skupina, která vyvíjela HTTP/2 se rozhodl používat variantu bez tečky a nuly na konci, aby nedocházelo ke zmatkům. Číslo má vyjadřovat kompatibilitu.

HTTP/2 mělo být šifrované proč není #

HTTP/2 mělo přinést kompletní šifrování s využitím TLS. Nakonec se však pracovní skupina, která na projektu pracovala rozhodla z tohoto požadavku ustoupit.

Pro zvýšení bezpečnosti však HTTP/2 u šifrovaného spojení vyžaduje TLS 1.2 anebo vyšší. Podporován je také SNI (Server Name Indication), ovšem pouze pro TLS 1.3 a vyšší.

Jak jsou na HTTP/2 připravené prohlížeče? #

V podstatě všechny nejpoužívanější prohlížeče HTTP/2 podporují od konce roku 2015. Tedy Chrome, Opera, FireFox, Internet Explorer 11 a Edge a Safari.

Bude HTTP/3? #

Pracovní skupina se k tomuto tématu vyjádřila, že bude záležet na tom jak se HTTP/2 rozšíří. Přechod z HTTP/2 na HTTP/3 by mohl být daleko jednodušší než tomu bylo u HTTP/1.1. V současní době však existuje velké množství služeb, které dlouhou dobu ještě starou verzi HTTP budou vyžadovat.