HTTP / 2 je nový způsob takže vaše webové stránky se načítají mnohem rychleji odstraněním mnoha neefektivností souvisejících s aktuální verzí protokolu HTTP. Největší věc? Nemusíte dělat tolik úsilí, abyste to udělali.

Nebo ano?

Co je HTTP / 2?

Když byly původně vyvinuty HTTP1 a HTTP1.1, web byl velmi odlišný od toho, co je dnes. Webové stránky měly méně zdrojů (soubory JavaScriptu, soubory CSS, obrázky) než dnes. Připojení k internetu nebylo příliš rychlé a uživatelé nebyli příliš vybíraví s rychlostí načítání webových stránek.

Uživatelé začínají dostávat svědění prsty, když místo trvá déle než 3 sekundy, aby se ukázala odpověď.

Byl jste šťastný, že webová stránka byla naplněna. Možná jste se tajně stěžovali, že načítání bylo pomalé. Ale s tím jste opravdu neměli moc. To proto, že pomalá doba načítání obvykle pochází z faktorů, které byly nezávislé na webovém serveru a technologii, kterou používáte. Většinou se jednalo o skutečné připojení k internetu, které bylo hlavním omezujícím faktorem.

Rychle vpřed do dneška. Velké časy načítání webových stránek se měří v milisekundách spíše než sekundy. Uživatelé začínají dostávat svědění prsty, když místo trvá déle než 3 sekundy, aby se ukázala odpověď. V takové situaci začínají neefektivnosti počítané v milisekundách spojené s původními verzemi HTTP skutečný rozdíl. To je důvod, proč máte tolik článků o diskusi jak zrychlit svůj web . Protože milisekundy jsou důležité.

Nová verze protokolu HTTP, známá jako HTTP / 2 řeší specifické známé problémy HTTP. Jejím cílem je řešit řadu problémů, které se stávají výraznějšími, protože se web vyvíjel na větší a větší webové stránky s mnohem více souborů CSS, JS a obrázků, než se původně očekávalo.

Co je ale s HTTP1.x špatným, a proč trávíme tolik úsilí, aby to bylo rychlejší?

Problémy s protokolem HTTP1.x

HTTP1.x má řadu vlastních problémů. Ve skutečnosti se jim zdržíme problémů. HTTP1.x má řadu způsobů, které mohou být efektivnější.

  1. HTTP 1.x je založen na textu: původně myšlenka byla, že HTTP1.x by měl být lidsky čitelný, takže byl plně založen na textu. Podle definice jsou všechny textové protokoly s nimi spojeny s neefektivností, jako je mezera, zlomy odkazů, velká písmena atd.
  2. V jednom okamžiku je v přenosu pouze jeden soubor: jedná se o jeden z největších problémů s verzemi HTTP protokolu 1.x. Představte si, že jste dodavatelem, který je schopen dodat pouze jeden balíček najednou. Musí se vrátit na základnu pokaždé, když potřebují dodat další balíček.
  3. Pro dnešní webové stránky jsou vyžadovány stovky požadavků: mít složitější témata znamená, že velikost webových stránek a počet zdrojů narůstá. Stejně tak čas potřebný k načtení každého zdroje. Pamatujte si, že náš "dodavatel" se musí vrátit na základnu pokaždé, že nejsou schopni přenést více než jeden soubor najednou.
  4. Každé spojení je těžké technické operace: Vzhledem k tomu, že je zapotřebí stovky připojení, začne se hromadit vážné režie. Když je čas načítání měřený v milisekundách, spojený čas potřebný k vytvoření spojení pro stovky zdrojů začíná být velmi významný.

Mnohokrát museli weboví návrháři provést konkrétní opatření ke snížení těchto neefektivností. Možná řešení, jako jsou CSS sprites, minification a kombinace souborů, mají za cíl překonat problémy s načítáním webových stránek.

Jedná se v podstatě o řešení namísto oprav.

Jak HTTP / 2 řeší problémy HTTP1.x

HTTP / 2 je navržen a vyvinut SPDY , protokol navržený na Google zaměřené na zrychlení webu 2x. Řeší problémy s protokolem HTTP následujícím způsobem

  1. Služba HTTP / 2 je určena ke spotřebě stroji (webový prohlížeč a webový server vašeho webu) spíše než lidé. Jedná se spíše o binární než o textové, což je ze své podstaty efektivnější. Přenos a analýza dat je rychlejší pomocí binárních protokolů.
  2. V jednom připojení lze současně přenést více souborů . Opravy byly provedeny tak, že můžete na stejném připojení provést potrubní zdroje. Spíše než po každém otevření nového připojení (náš dodavatel se vrátí k základně), všechny prostředky mohou být provedeny na stejném připojení (náš dodavatel skladuje vše v dodávce a vezme vše v jediném zájezdu).
  3. Server push posílat soubory, které bude vyžadovat prohlížeč. V HTTP1.x je webový prohlížeč, který požádá webový server o potřebné zdroje. HTTP Server Push (implementovaný jako součást protokolu HTTP / 2) umožňuje serveru spustit odesílání prostředků, které zná webový prohlížeč. Můžete například nařídit serveru, aby nečekal, že prohlížeč požádá o soubory CSS, JS a další zdroje, které prohlížeč bude potřebovat.
  4. HTTP paketové záhlaví a další optimalizace - jde o technické vylepšení, které jsou navrženy tak, aby zlepšily efektivitu přenosů

Co je zapotřebí k povolení HTTP2?

Nepodporováním protokolu HTTP / 2 přes nešifrované připojení jsou vlastníci webových stránek silně vyzbrojeni k implementaci HTTP pro své webové stránky.

Zpátky na začátku článku jsme říkali, že od vašeho konce není zapotřebí příliš velké úsilí, aby se povolil protokol HTTP / 2. Povolení HTTP / 2 je něco, co je třeba udělat na úrovni webového serveru. Většina webových serverů, jako jsou Apache, Nginx, IIS a další hlavní webové servery, již podporují protokol HTTP / 2.

Pokud spustíte vlastní webový server, stačí nainstalovat a povolit knihovny HTTP / 2. Pokud je váš web hostován u hostitelské společnosti, zkontrolujte u společnosti, zda je webový server již povolen pro HTTP / 2.

Úlovek? Bezpečné certifikáty

Možná byly věci příliš dobré, aby byly pravdivé. Právě jsme diskutovali, jak webové servery již plně podporují protokol HTTP / 2.

Většina hlavních webových prohlížečů také plně podporuje protokol HTTP / 2. Ale také se rozhodly podporovat pouze HTTP / 2 v šifrovaném režimu. Důvodem je, že došlo k silnému pohybu umožňujícímu HTTPS (šifrování) po celém webu. Takové iniciativy jako HTTPS všude silně zatlačte na HTTPS na všech webech.

Nepodporováním protokolu HTTP / 2 přes nešifrované připojení jsou vlastníci webových stránek silně vyzbrojeni k implementaci HTTP pro své webové stránky.

Samozřejmě to není nutně špatná věc. Implementace protokolu HTTPS má významné výhody v oblasti zabezpečení a ochrany soukromí. Společnosti, které se shromažďují, vytvořily certifikační autoritu Zašifrujeme aby byly povoleny bezplatné certifikáty, celková cena skutečně získaného certifikátu a implementace protokolu HTTPS se stává mnohem levnějším. To bylo poměrně drahé až před nějakým časem.

Implementace protokolu HTTPS není něco, co byste měli dělat, aniž byste mu dali potřebné náležité myšlenky. Pravděpodobně budete chtít o tom diskutovat s vaším důvěryhodným vývojářem webových stránek nebo s někým s dostatečnou odborností. Většinou by vás vaše hostující společnost měla být schopna vás tímto provést.

Samozřejmě je důrazně doporučeno, abyste implementovali protokol HTTPS. Vedle dodatečné bezpečnosti získáte možnost povolit HTTP / 2 a rychleji učinit svůj web. To je to, co nazýváme výherní situací.

Existují další optimalizační techniky?

Ano i ne.

Určité optimalizace zaměřené na omezení webových požadavků se stanou nadbytečnými. Pokud vaše stránky vydělávají výpočetní čas k "kombinování" JS, CSS a dalších souborů, to se vlastně stalo režijními náklady. Kdokoli "promarněný", který se zabývá výše uvedenou neúčinností, již není nutné.

Na druhou stranu by měly zůstat v platnosti takové optimalizace, jako je ukládání do mezipaměti, zmenšení velikosti zdrojů, poskytování obsahu přes CDN, výběr skvělého hostitelského serveru a další optimalizace, která řeší různé typy neefektivností.

Skvělá věc o HTTP / 2 je to, že nejen, že vaše webové stránky načítají rychleji, ale také vás tlačí, aby vaše webové stránky bezpečnější. Neexistuje žádný argument o tom, že oba tyto výhody jsou prospěšné. HTTP / 2 je dalším krokem při zrychlení celého webu. Pojďme se všichni zúčastnit a udělat to.