SPDY

SPDY (читается как «speedy», «спиди») — протокол прикладного уровня для передачи веб-контента. Протокол разработан корпорацией Google. По замыслу разработчиков, данный протокол позиционируется как замена некоторых частей протокола HTTP — таких, как управление соединениями и форматы передачи данных.

SPDY
Название SPDY
Уровень (по модели OSI) Прикладной
Семейство TCP/IP
Создан в 2012
Основные реализации (клиенты) Веб-браузеры: Mozilla Firefox[1], Internet Explorer 11[2], Amazon Silk.
Основные реализации (серверы) Apache[3], Nginx[4].
Разработчик Google

Основной задачей SPDY заявлялось снижение времени загрузки веб-страниц и их элементов[5]. Это достигается за счёт расстановки приоритетов и мультиплексирования передачи нескольких файлов таким образом, чтобы требовалось только одно соединение для каждого клиента.

Документация по проекту доступна с 2009 года, было проведено первое лабораторное тестирование. Тесты проходили таким образом: создатели сымитировали сеть и загрузили по SPDY-протоколу 25 крупнейших мировых сайтов. Статистика говорит о том, что в ряде случаев веб-страницы загружались на 55 % быстрее, чем при использовании HTTP-протокола. В документации также сказано, что время загрузки страниц стало меньше на 36 %[6][7].

Протокол широко использовался с 2011—2012 годов[8]. С 2015 года активно внедряется протокол HTTP/2[9], поддержка протокола SPDY была удалена из ряда клиентов в 2016 году в пользу HTTP/2[10][11].

Версии протокола править

У SPDY есть 4 версии протокола. В его управляющих кадрах 15 бит указывают версию протокола.

  • Версия 1: больше не используется.
  • Версия 2: поддержка скоро будет прекращена. Nginx, до версии 1.5.10, поддерживает spdy/2. Firefox 28 и последние версии Chrome отказываются от поддержки SPDY версии 2. OpenLiteSpeed 1.1 поддерживает SPDY/2.
  • Версия 3: В SPDY v3 введена поддержка управления потоком, обновлённый словарь сжатия, и удалены неиспользуемые места в заголовках в определённых фреймах, наряду с другими исправлены незначительные ошибки. Поддерживают:
    • Firefox 15+
    • OpenLiteSpeed 1.1+
  • Версия 3.1: SPDY v3.1 введена поддержка уровня сеанса управления потоком, удалены фреймы типа CREDENTIALS (и связанные с ними коды ошибок). Поддерживают: Firefox 27,  OpenLiteSpeed 1.2.7, Nginx 1.5.10.
  • Версия 4: альфа версия доступна для включения на странице chrome://flags/#enable-spdy4 для Chrome и браузеров на базе движка Chromium, а также для Opera на opera://flags/#enable-quic.

Поддержка править

Клиенты править

Браузеры Google Chrome/Chromium и основанные на них поддерживали SPDY с версии 6 (2011 год)[12]. Начиная с 51 версии Chromium, поддержка SPDY была удалена в пользу протокола HTTP/2[13].

В настоящее время протокол поддерживается браузером Mozilla Firefox (реализован с версии 11[1], включён с версии 13[14]) и оригинальным вариантом Opera с версии 12.10[15][16].

Компания Microsoft официально подтвердила поддержку SPDY/3 в Internet Explorer 11 в 2013 году[2].

Серверы править

Для популяризации протокола и облегчения его внедрения компания Google выпустила модуль mod_spdy для веб-сервера Apache. В nginx 1.3.15 появилась поддержка модуля ngx_http_spdy_module[4].

См. также править

  • SSL
  • SCTP
  • HTTP
  • HTTPS
  • HTTP/2
  • QUIC — новый экспериментальный интернет-протокол, разработанный Google.

Примечания править

  1. 1 2 Bug 528288 - (SPDY) Implement SPDY protocol (англ.). Дата обращения: 11 марта 2012. Архивировано 6 ноября 2012 года.
  2. 1 2 WebGL, SPDY/3, New Dev Tools, & More Confirmed For IE11 In Win 8.1 (англ.). Архивировано из оригинала 1 июля 2013 года.
  3. Модуль apache mod_spdy. Дата обращения: 25 апреля 2014. Архивировано 26 марта 2017 года.
  4. 1 2 Модуль nginx ngx_http_spdy_module. Дата обращения: 25 апреля 2014. Архивировано 25 апреля 2014 года.
  5. A 2x Faster Web. Official Google Chromium Blog (11 ноября 2009). Дата обращения: 13 ноября 2009. Архивировано из оригинала 10 апреля 2012 года.
  6. SPDY: An experimental protocol for a faster web. Chromium Developer Documentation. Дата обращения: 13 ноября 2009. Архивировано из оригинала 10 апреля 2012 года. (англ.)
  7. Iljitsch van Beijnum. SPDY: Google wants to speed up the web by ditching HTTP. Ars Technica (12 ноября 2009). Дата обращения: 13 ноября 2009. Архивировано из оригинала 10 апреля 2012 года. (англ.)
  8. HTTP/2 is here! Goodbye SPDY? Not quite yet. Дата обращения: 10 августа 2016. Архивировано 8 декабря 2015 года.
  9. Архивированная копия. Дата обращения: 29 сентября 2017. Архивировано 9 ноября 2016 года.
  10. Архивированная копия. Дата обращения: 29 сентября 2017. Архивировано 3 октября 2017 года.
  11. Chromium Blog: Hello HTTP/2, Goodbye SPDY
  12. "Google sees 15% speed boost with HTTP tweak. All Google SSL connections now SPDY" (англ.). The Register. 2011-06-16. Архивировано из оригинала 28 августа 2016. Дата обращения: 10 августа 2016. SPDY quietly made its debut with Chrome 6
  13. Transitioning from SPDY to HTTP/2 (англ.). Дата обращения: 10 августа 2016. Архивировано 7 августа 2016 года.
  14. Firefox Aurora 13 is out – SPDY on by default and a list of other improvements (англ.). Архивировано из оригинала 16 июня 2012 года.
  15. Opera 12.50-1577 now support SPDY protocol (англ.). Архивировано 24 октября 2012 года.
  16. Opera: Built-in support for the SPDY protocol. Дата обращения: 6 ноября 2012. Архивировано из оригинала 9 ноября 2012 года.

Ссылки править