Rychlejší weby už nejsou utopie. S novým protokolem HTTP/2 jsme jim blíž a blíž. Nyní si můžete vyzkoušet i demo verzi. Tak směle do toho.
Už v únoru letošního roku se objevila zpráva, že nový protkol HTTP/2, který má výrazně zrychlit načítání webových stránek a jejich obsahu, je hotový. Nyní ho jako první na světě svým zákazníkům přináší česká firma CDN77.com, která se zabývá přenosem dat. Pro zájemce si připravila i demo verzi, ve které si změny můžete vyzkoušet na vlastní kůži. Najdete ji zde: http://www.http2demo.io/.
Hlavní výhodou protokoluHTTP/2, oproti protokolu HTTP/1.1 z devadesátých let, je vyšší rychlost přenosů díky multiplexaci a další optimalizaci přenosů. Samotný protokol přímo vychází z rozšíření SPDY („speedy“), na kterém pracoval především Google. V roce 2012 se uvažovalo také o využití protokolu Microsoft SM (Speed+Mobile), ale na základě doporučení Facebooku byl vybrán právě Google SPDY.
Multiplexace
Hlavní rozdíl HTTP/1.1 a HTTP/2 je ve zmíněné multiplexaci. V zásadě jde o to, že dochází vždy pouze k jednomu TCP spojení na server. Běžnou praxí HTTP/1.1 bylo otevření 4 (nebo 8) spojení na zdroj (subdoménu). V případě, že server využívá více subdomén (www., img., img2., …), může dojít k otevření 30+ spojení. To má samozřejmě negativní vliv na zatížení serveru, navíc s každým spojením dochází ke značené režii spojené s obsluhou spojení.
Server Push
Další novinkou, kvůli které stojí za to HTTP/2 nasadit je funkce Server Push. Standardní postup je takový, že server odešle klientovi čisté HTML stránky, o kterou požádal. Následuje časová prodleva, kdy klient „přechroupává“ získané HTML a následně posílá na server další požadavky na CSS, JS, obrázky apod. Server Push řeší problém této časové prodlevy tím, že automaticky posílá rovnou s HTML i soubory, o kterých se domnívá, že o ně klient stejně bude muset za okamžik žádat.
Kompatibilita
Protokol HTTP/2 je zpětně kompatibilní s předchozí verzí, není tedy problém jej nasadit. I nechápavé prohlížeče zvládnou komunikovat přes požadavky protokolu HTTP/1.1. To je ostatně jedním z hlavních principů návrhu. Do budoucna je snahou, aby updaty protokolu vycházely častěji než jednou za 20 let. Dá se tedy očekávat, že v řádu let vznikne protokol HTTP/3 a bez větších problémů bude nasazen.
Co se týká připravenosti prohlížečů, je situace víceméně „klasická“. Skoro všechny desktopové prohlížeče v posledních verzích mají podporu HTTP/2, IE11 má částečnou podporu a teprve Edge přichází s plnou podporou.
Kompatibilita prohlížečů s HTTP/2
Někdo by se mohl pozastavit nad nepodporou nového protokolu v Android prohlížečích. Faktem je, že tyto prohlížeče zatím podporují pouze SPDY, nasazení HTTP/2 by tedy neměl být problém a dá se očekávat v brzké budoucnosti.
Kompatibilita prohlížečů s SPDY
Implementace HTTP/2 pomocí CDN
Jednou z možností, jak snadno nabídnout uživatelům rychlejší přenosy dat, je pomocí CDN. Aktuálně je možné najít HTTP/2 v nabídce:
- maxcdn.com
- cdn77.com
- cloudflare.com
- a mnoha dalších
HTTP2 a SEO
Z pohledu SEO jde především právě o rychlost, která je jedním z důležitých faktorů při hodnocení stránky. Rychlost je důležitá jak pro vyhledávače (čím rychleji se stránka načte, tím má vyhledávač stránku raději :-), tak pro uživatele (teprve s příchodem internetu si člověk uvědomil, jak dlouhá je vteřina).
V současné chvíli nic nebrání tomu HTTP/2 nasadit. Otázkou je, jestli je dobré v tuto chvíli měnit postupy v oblasti konsolidace obsahu.
I kvůli současné nedostatečné kompatibilitě prohlížečů, je zatím spíše lepší držet se osvědčených postupů, tedy konsolidovat obrázky a minifikovat JS, CSS i samotné HTML. Tyto techniky ale obvykle komplikují práci vývojářům, kteří s každou drobnou úpravou musí vytvořit nový build CSS a JS. To úpravy nejen zdržuje, ale také prodražuje. I z tohoto důvodu je tedy dobré vývoj sledovat a v pravý čas tyto postupy přehodnotit. Nasazení HTTP/2 na server to ale nijak nebrání.