SPDY (читається як «speedy», «спіді») — протокол прикладного рівня для передачі вебвмісту, розроблений корпорацією Google. Основним завданням SPDY є зниження часу завантаження вебсторінок та їх елементів. Це досягається за рахунок розстановки пріоритетів і мультиплексування передачі декількох файлів таким чином, щоб було потрібно тільки одне з'єднання для кожного клієнта. За задумом розробників, цей протокол позиціонувався як заміна деяких частин протоколу HTTP — таких, як управління з'єднаннями і формати передачі даних. SPDY просувається для включення до складу майбутнього стандарту HTTP/2.0.
Протокол був створений спеціально для мінімізації затримок при з'єднанні та обміні даними між клієнтом і сервером. При обслуговуванні з'єднання SPDY використовує схожий на HTTP механізм взаємодії у формі запит/відповідь. SPDY додає сеансовий рівень поверх SSL, що дає можливість забезпечити передачу кількох одночасних потоків в рамках одного TCP-з'єднання. При використанні HTTP запити в рамках одного потоку обслуговуються послідовно, і залучення SPDY дає можливість мультиплексувати запити ресурсів, обробляти їх паралельно і відправляти запити з урахуванням динамічно розрахованих пріоритетів, збільшуючи поточну пропускну здатність.
Використання SSL одночасно дозволяє вирішити проблему з проходженням запитів через проксі-сервери і дозволяє організувати доставку даних з ініціативи сервера, без спеціального запиту клієнта (технологія Server push). Додаткове прискорення досягається за рахунок стиснення HTTP-заголовків запиту і відповіді, що зменшує розмір переданих даних і помітно прискорює завантаження сторінок, які породжують велику кількість дрібних запитів (CSS, JavaScript файли, картинки), особливо при використанні повільних каналів зв'язку. За даними Google прискорення завантаження сторінок при використанні SPDY становить від 15 % до 50 %, але за результатами тестування критиків протоколу, прискорення склало 4.5 % (тестування проводилося з використання зворотного проксі для 500 найбільших сайтів за рейтингом Alexa. Низькі показники пояснюються тим, що на сторінках більшості сайтів використовуються зовнішні вставки, в той час як SPDY прискорює завантаження тільки з одного сервера).
Після затвердження рекомендацій HTTP2, в основу якого ліг SPDY, у лютому 2015 Google відмовився від підтримки SPDY у своїх продуктах на користь HTTP/2.
Підтримка ред.
Підтримка протоколу SPDY інтегрована в браузери Google Chrome/Chromium, Firefox і Opera (з версії 12.10). Сесії SPDY в Chrome можна дослідити через URI: chrome://net-internals/#events&q=type:SPDY_SESSION%20is:active
.
З серверного боку на початок 2012 відкритий проект Jetty оголосив про підтримку SPDY у версії 7.6.2,, а інші відкриті проекти працюють над втіленням протоколу SPDY у свої продукти, зокрема node.js, Apache (mod_spdy), curl, nginx.
Виноски ред.
- ↑ A 2x Faster Web. Official Google Chromium Blog. 11 листопада 2009. Архів оригіналу за 10 квітня 2012. Процитовано 13 листопада 2009.
- ↑ . Архів оригіналу за 22 червня 2012. Процитовано 20 червня 2012.
- . Архів оригіналу за 12 жовтня 2012. Процитовано 20 червня 2012.
- Hello HTTP/2, Goodbye SPDY [ 10 березня 2015 у Wayback Machine.] // Chromium Blog
- Google отказывается от поддержки в Chrome протокола SPDY в пользу HTTP/2 [ 15 лютого 2015 у Wayback Machine.] // opennet.ru
- . Архів оригіналу за 24 червня 2013. Процитовано 20 червня 2012.
- . Архів оригіналу за 23 грудня 2010. Процитовано 20 червня 2012.
- . Архів оригіналу за 8 липня 2017. Процитовано 20 червня 2012.
- . Github.com. Архів оригіналу за 19 серпня 2016. Процитовано 10 травня 2012.
- Fedor Indutny (24 січня 2012). . blog.nodejitsu.com. Архів оригіналу за 9 травня 2012. Процитовано 10 травня 2012.
- mod-spdy - Apache SPDY module - Google Project Hosting. Code.google.com. Архів оригіналу за 22 липня 2013. Процитовано 10 травня 2012.
- . Архів оригіналу за 27 травня 2012. Процитовано 20 червня 2012.
- . daniel.haxx.se. 18 жовтня 2011. Архів оригіналу за 13 травня 2012. Процитовано 10 травня 2012.
- . Twitter. nginx web server. 17 квітня 2012. Архів оригіналу за 12 грудня 2019. Процитовано 17 жовтня 2021. (англ.)
Посилання ред.
- Специфікації SPDY [ 7 жовтня 2011 у Wayback Machine.]
- SPDY: Google wants to speed up the web by ditching HTTP [ 26 квітня 2012 у Wayback Machine.]
- Apache SPDY module [ 20 червня 2012 у Wayback Machine.]