SPDY
SPDY (wymawiaj jak ang. speedy) – przestarzały[a], oparty na TCP protokół warstwy aplikacji pierwotnie projektowany do transmisji stron WWW jako szybsza alternatywa HTTP[3]. Powstał w firmie Google jako podprojekt przeglądarki WWW Chromium i został zaprezentowany w 2009 roku[4].
W trakcie rozwoju SPDY jego główni programiści zostali włączeni przez firmę w opracowywanie HTTP/2, którego pierwszy szkic finalnie został oparty na SPDY[5]. W lutym 2015 r. Google zadeklarował, że w związku z zatwierdzeniem standardu HTTP/2 wycofuje wsparcie dla SPDY[6].
Podstawowa charakterystyka
[edytuj | edytuj kod]Nazwa „SPDY” wbrew swej postaci nie jest akronimem. Została utworzona od angielskiego słowa „SPeeDY” – tj. szybki, prędki – i miała podkreślać założoną szybkość działania nowego protokołu wobec niedomagań starzejącego się HTTP[4].
Celem projektu było skrócenie czasu pobierania stron WWW[3] dzięki priorytetowemu pobieraniu elementów stron, które najbardziej wpływają na ich działanie, a także poprzez zwielokrotnianie żądań, które w oryginalnych implementacjach HTTP była niedostępne, a później jedynie emulowane przy pomocy awaryjnego pipeliningu. W SPDY przeniesienie kilku plików wymagało tylko jednego połączenia[7]. Serwery SPDY mogły zarówno sugerować klientowi pobieranie określonych zasobów, jak i wysyłać je niejako bez pytania w tzw. trybie push, uprzedzając żądanie klienta[4][8]. Wymogiem protokołu było szyfrowanie całej transmisji przy pomocy TLS. Jednocześnie, kompresji podlegały nie tylko dane – jak w HTTP – ale także nagłówki protokołu[8], co stało się potem przyczyną problemów (patrz niżej).
Dzięki temu, że serwery Google były jednymi z pierwszych[9] wdrażających protokół, Chrome, przeglądarka tej firmy w pierwszym rzędzie używał SPDY[10][11] do komunikowania się z firmowymi usługami jak wyszukiwarka, Gmail, Sync czy też pobierania reklam AdSense.
Stan implementacji
[edytuj | edytuj kod]Wszystkie wersje SPDY – ze względu na wykorzystanie kompresji nagłówków poprzez zlib/deflate – podatne są na upubliczniony w 2012 atak na transmisję szyfrowaną znany jako CRIME (CVE-2012-4929)[12][13]. Przeglądarki internetowe implementujące SPDY obeszły błąd poprzez wyłączenie kompresji nagłówków, sama specyfikacja protokołu pozostała jednak podatna[13][b].
SPDY było wykorzystywane w komunikacji pomiędzy przeglądarką Google Chrome a serwerami firmy już w styczniu 2011 roku[9]. W związku certyfikacją HTTP/2 w roku 2015 i porzuceniem SPDY przez Google wersja 51. przeglądarki Chrome z 2016 wydana została już bez implementacji protokołu[1].
Firefox posiadał obsługę protokołu począwszy od wersji 11 z marca 2012 (początkowo domyślnie wyłączoną[14], aktywowaną w pełni od wersji 13 w połowie 2012[15]) do wersji 50 z listopada 2016, gdy wsparcie dla niego zostało wyłączone[2]. Presto, oryginalny silnik przeglądarki Opera obsługuje protokół SPDY od wersji 12.10[16] do 12.16, gdy zaprzestano jego rozwoju (nowsze wersje bazują na Chromium).
W Windows 8.1 SPDY jest dostępny w całym systemie dzięki komponentom Internet Explorer 11. Jednakże ta sama przeglądarka na wersji Windows 7 nie obsługiwała protokołu SPDY.
Uwagi
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ a b Transitioning from SPDY to HTTP/2. Chromium Blog. [dostęp 2022-12-06]. (ang.).
- ↑ a b Bugzilla@Mozilla Bug 1287132 - Disable SPDY 3.1. [dostęp 2017-02-26]. (ang.).
- ↑ a b Mike Belshe, Roberto Peon: A 2x Faster Web. Chromium Blog, 2009-11-11. (ang.).
- ↑ a b c Iljitsch van Beijnum: SPDY: Google wants to speed up the web by ditching HTTP. 2009-11-12. [dostęp 2022-12-06]. (ang.).
- ↑ Mark Nottingham: First draft of HTTP/2. HTTP Working Group Mailing List. [dostęp 2012-12-02].
- ↑ Hello HTTP/2, Goodbye SPDY. Google, 9 lutego 2015. (ang.).
- ↑ SPDY: An experimental protocol for a faster web.
- ↑ a b SPDY whitepaper
- ↑ a b SPDY on Google servers?. [dostęp 2020-10-03].
- ↑ Chromium SPDY client implementation
- ↑ Chromium: SPDY proxy examples. [dostęp 2017-08-28]. [zarchiwizowane z tego adresu (2017-09-19)].
- ↑ CVE-2012-4929. Mitre Corporation. [dostęp 2022-08-23]. (ang.).
- ↑ a b Adam Langley: CRIME. 2012-09-21. [dostęp 2022-08-23]. (ang.).
- ↑ Firefox Notes - Desktop. www.mozilla.org, 2012-03-13. [dostęp 2023-04-24]. (ang.).
- ↑ Firefox Notes - Desktop. www.mozilla.org. [dostęp 2017-11-26]. (ang.).
- ↑ David Honneffer: Opera: Opera 12.10 Changelog. [zarchiwizowane z tego adresu (2012-11-10)].
Linki zewnętrzne
[edytuj | edytuj kod]- Dokumentacja SPDY (ang.)
- SPDY-Whitepaper (ang.)