SPDY — Вікіпедія
SPDY (читається як «speedy», «спіді») — протокол прикладного рівня для передачі вебвмісту, розроблений корпорацією Google. Основним завданням SPDY є зниження часу завантаження вебсторінок та їх елементів.[1] Це досягається за рахунок розстановки пріоритетів і мультиплексування передачі декількох файлів таким чином, щоб було потрібно тільки одне з'єднання для кожного клієнта. За задумом розробників, цей протокол позиціонувався як заміна деяких частин протоколу HTTP — таких, як управління з'єднаннями і формати передачі даних. SPDY просувається для включення до складу майбутнього стандарту HTTP/2.0.
Протокол був створений спеціально для мінімізації затримок при з'єднанні та обміні даними між клієнтом і сервером. При обслуговуванні з'єднання SPDY використовує схожий на HTTP механізм взаємодії у формі запит/відповідь. SPDY додає сеансовий рівень поверх SSL, що дає можливість забезпечити передачу кількох одночасних потоків в рамках одного TCP-з'єднання. При використанні HTTP запити в рамках одного потоку обслуговуються послідовно, і залучення SPDY дає можливість мультиплексувати запити ресурсів, обробляти їх паралельно і відправляти запити з урахуванням динамічно розрахованих пріоритетів, збільшуючи поточну пропускну здатність.
Використання SSL одночасно дозволяє вирішити проблему з проходженням запитів через проксі-сервери і дозволяє організувати доставку даних з ініціативи сервера, без спеціального запиту клієнта (технологія Server push). Додаткове прискорення досягається за рахунок стиснення HTTP-заголовків запиту і відповіді, що зменшує розмір переданих даних і помітно прискорює завантаження сторінок, які породжують велику кількість дрібних запитів (CSS, JavaScript файли, картинки), особливо при використанні повільних каналів зв'язку. За даними Google[2][1] прискорення завантаження сторінок при використанні SPDY становить від 15 % до 50 %, але за результатами[3] тестування критиків протоколу, прискорення склало 4.5 % (тестування проводилося з використання зворотного проксі для 500 найбільших сайтів за рейтингом Alexa. Низькі показники пояснюються тим, що на сторінках більшості сайтів використовуються зовнішні вставки, в той час як SPDY прискорює завантаження тільки з одного сервера).
Після затвердження рекомендацій HTTP2, в основу якого ліг SPDY, у лютому 2015 Google відмовився від підтримки SPDY у своїх продуктах на користь HTTP/2.[4][5]
Підтримка протоколу SPDY інтегрована в браузери Google Chrome/Chromium[6][7], Firefox і Opera (з версії 12.10). Сесії SPDY в Chrome можна дослідити через URI: chrome://net-internals/#events&q=type:SPDY_SESSION%20is:active
.
З серверного боку на початок 2012 відкритий проект Jetty оголосив про підтримку SPDY у версії 7.6.2,[8], а інші відкриті проекти працюють над втіленням протоколу SPDY у свої продукти, зокрема node.js[9][10], Apache (mod_spdy)[11][12], curl[13], nginx[14][2].
- ↑ а б A 2x Faster Web. Official Google Chromium Blog. 11 листопада 2009. Архів оригіналу за 10 квітня 2012. Процитовано 13 листопада 2009.
- ↑ а б Для http-сервера nginx представлен модуль с поддержкой протокола SPDY. Архів оригіналу за 22 червня 2012. Процитовано 20 червня 2012.
- ↑ Not as SPDY as You Thought. Архів оригіналу за 12 жовтня 2012. Процитовано 20 червня 2012. [Архівовано 2012-10-12 у Wayback Machine.]
- ↑ Hello HTTP/2, Goodbye SPDY [Архівовано 10 березня 2015 у Wayback Machine.] // Chromium Blog
- ↑ Google отказывается от поддержки в Chrome протокола SPDY в пользу HTTP/2 [Архівовано 15 лютого 2015 у Wayback Machine.] // opennet.ru
- ↑ Chromium SPDY client implementation. Архів оригіналу за 24 червня 2013. Процитовано 20 червня 2012.
- ↑ Chromium: SPDY proxy examples. Архів оригіналу за 23 грудня 2010. Процитовано 20 червня 2012. [Архівовано 2010-12-23 у Wayback Machine.]
- ↑ Jetty Feature SPDY. Архів оригіналу за 8 липня 2017. Процитовано 20 червня 2012.
- ↑ indutny/node-spdy · GitHub. Github.com. Архів оригіналу за 19 серпня 2016. Процитовано 10 травня 2012.
- ↑ Fedor Indutny (24 січня 2012). What the $%@! is SPDY - blog.nodejitsu.com - scaling node.js applications one callback at a time. blog.nodejitsu.com. Архів оригіналу за 9 травня 2012. Процитовано 10 травня 2012. [Архівовано 2012-05-09 у Wayback Machine.]
- ↑ mod-spdy - Apache SPDY module - Google Project Hosting. Code.google.com. Архів оригіналу за 22 липня 2013. Процитовано 10 травня 2012.
- ↑ Компания Google выпустила модуль к Apache для обеспечения поддержки протокола SPDY. Архів оригіналу за 27 травня 2012. Процитовано 20 червня 2012.
- ↑ libspdy. daniel.haxx.se. 18 жовтня 2011. Архів оригіналу за 13 травня 2012. Процитовано 10 травня 2012.
- ↑ @nginxorg (17 квітня 2012). @DeviaVir It's going well ;) So far we're on schedule, should hopefully be available by the end of May (Твіт). Архів оригіналу за 12 грудня 2019. Процитовано 17 жовтня 2021 — через Твіттер. (англ.)
- Специфікації SPDY [Архівовано 7 жовтня 2011 у Wayback Machine.]
- Документація зі SPDY
- SPDY: Google wants to speed up the web by ditching HTTP [Архівовано 26 квітня 2012 у Wayback Machine.]
- Apache SPDY module [Архівовано 20 червня 2012 у Wayback Machine.]