SPDY

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

SPDY je experimentální síťový protokol, který je vyvíjen jako součást otevřeného projektu Chromium pod záštitou Googlu.

Hlavním cílem protokolu je snaha o zajištění rychlejšího načítání webových stránek pomocí úpravy funkčnosti protokolu HTTP. SPDY relace je realizována uvnitř spolehlivého transportního protokolu, například TCP a pro své fungování vyžaduje implementaci na klientské i serverové straně. +more SPDY je implementován v prohlížečích Chromium/Chrome , Opera, Mozilla Firefox a Internet Explorer. Protokol je implementován také v jejich mobilních protějšcích. Autoři naměřili až 64% zkrácení doby potřebné k načtení stránky a při úpravě parametrů TCP až 78%. Průměr zrychlení byl 29%.

Vývojáři SPDY se zapojili do vytvoření standardu HTTP/2. +more0, který byl v únoru roku 2015 předložen k ratifikaci. Společnost Google oznámila ukončení podpory protokolu SPDY v roce 2016 ve prospěch nového HTTP/2. 0 standardu.

Problémy s rychlostí protokolu HTTP

Přes otevřené spojení se přenese pouze jeden dotaz. HTTP nepřenáší elementy paralelně a otevřený TCP kanál čeká na přijetí odpovědi. +more Dosavadní řešení problému prohlížeči je otevření několika TCP spojení s daným serverem zároveň. * Pouze klient rozhodne, která data si vyžádá. HTTP server nemá prostředky pro posílání dat klientovi, aniž by si je klient vyžádal. Při komunikaci jsou případy, kdy server ví, že klient bude potřebovat určitá data, ale nemůže je doručit, ani klienta informovat o jejich dostupnosti. * [url= volitelně podporuje kompresi dat, ale ne všechny [[Webový server|webové servery][Komprese dat|Nekomprimované]] hlavičky dotazů. Hlavičky mohou mít velikost až 2KiB. Moderní webové aplikace používají více cookies a webová odezva pomalých spojení značně trpí. * Nadbytečné hlavičky. Některé hlavičky jsou v jednom spojení posílány vícekrát, přestože informace v nich obsažené jsou často statické a nepotřebují být obnovovány. * Nepovinná komprese dat. [/url]] jí používají.

Vlastnosti

SPDY přidává relaci nad vrstvou [url= metod GET a POST zůstává nezměněna pouze se definuje nový [[Rámec (počítačová síť)|rámec][SSL]], která umožňuje více multiplexovaných spojení skrze jedno TCP spojení. Syntaxe[/url]] pro přenos dat. +more SPDY poskytuje několik povinných a nepovinných funkcionalit.

Povinné funkcionality

Multiplexované spojení

:SPDY podporuje neomezený počet souběžných toků dat skrze jediné TCP spojení. Efektivita spojení je maximalizována, protože jsou jednotlivé dotazy posílány zároveň. +more Sníží se tím také počet TCP spojení k jednomu web serveru.

Priorita dotazování

:S multiplexem je spojen problém priority. Při pomalém spojení může dojít k zadržení paketů, které klient nutně potřebuje. +more SPDY implementuje prioritu dotazů (úrovně 0 až 7), která tento problém efektivně řeší.

Komprimace hlaviček

:Komprimace hlaviček je vždy zapnutá a snižuje se tím počet odeslaných dat. Hlavičky jsou vždy komprimovány pomocí komprese zlib.

Nepovinné funkcionality

Server push

:Na rozdíl od HTTP, může sám server začít odesílat data. V hlavičce předá klientovi informaci, že začne odesílat data, která si klient ještě nevyžádal. +more Toto opatření může značně zrychlit načítání stránek, které klient ještě nenavštívil. Pokud má již klient data v paměti pak je odeslání zbytečné, rozhodnutí o odeslání dat náleží jenom serveru, jelikož protokol neposkytuje informace o datech která jsou uloženy u klienta.

Server hint

:Server má možnost, místo aktivního odesílání dat, pouze informovat klienta o potřebných datech. Klient pak může rychleji zareagovat vlastním dotazem. +more Při pomalém spojení klient rychleji zjistí, která data potřebuje, ještě před tím než by se mu stáhl předchozí dotaz.

Reference

Související články

Hypertext Transfer Protocol

Externí odkazy

[url= 2.0 draft[/url]url= 2.0 (anglicky)

[[Kategorie:Protokoly relační vrstvy]url=http://www. chromium. +moreorg/spdy/spdy-whitepaper]Dokumentace protokolu SPDY[/url] - od autorů (anglicky) * [url=https://tools. ietf. org/html/draft-ietf-httpbis-http2-00]IETF[/url] - jako součástí standardizačního procesu[/url]].

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top