Рівно чотири роки тому компанія Google анонсувала протокол SPDY, який замислювався як апгрейд для HTTP 1.1 з метою значно підвищити швидкість роботи всіх типів з'єднань. SPDY дозволяє вдвічі зменшити затримку (latency) при роботі через HTTP. Робиться це за рахунок трьох методів: 1) мультиплексування запитів; 2) розстановка пріоритетів для запитів; 3) стиснення заголовків HTTP.
Перші «лабораторні» тести SPDY показали збільшення швидкості завантаження веб-сторінок на 55%, в мобільних мережах - на 23%. Втім, незалежні тести на реальних сайтах не показали взагалі ніякої надбавки продуктивності. Одна з причин - у реальних сайтів ресурси підвантажуються з різних доменів, у тому числі з тих, де немає підтримки SPDY.
За минулі чотири роки багато що змінилося. Сам SPDY оптимізований і виріс до версії 3.1, і його вирішено зробити основою для протоколу наступного покоління HTTP 2.0. Нинішня реалізація підтримується у всіх сучасних браузерах, у тому числі Chrome, Opera, Firefox і навіть Internet Explorer, в десятках серверних платформ і на багатьох великих сайтах.
Вчора компанія Google опублікувала результати тестування SPDY на власних сайтах. Це не лабораторні тести, а реальна статистика з мільйонів користувальницьких сесій з різними типами підключення до Мережі, тобто з різною швидкістю доступу.
У таблиці вказано зміну показника затримки (latency) - часу між надсиланням запиту і отриманням першої вхідної події в браузері. Вказано середнє по медіані значення, середній показник для 5% найшвидших сполук і для 95% інших.
|
Google News |
Google Sites |
Google Drive |
Google Maps |
|
|
Середнє по медіані |
-43% |
-27% |
-23% |
-24% |
|
5% найшвидших |
-32% |
-30% |
-15% |
-20% |
|
95% інших |
-44% |
-33% |
-36% |
-28% |
У тестах використовувався Chrome 29 і порівнювалася робота за HTTPS і SPDY.
Природно, на інших сайтах використання SPDY може не дати такого ефекту. Конкретний результат залежить від кількості скачуваного контенту зі сторонніх ресурсів і від десятків інших факторів.
У той же час Google говорить, що продовжує оптимізувати алгоритми стиснення, управління потоком і приоретизації трафіку в SPDY. Є дуже багато цікавих ідей, так що до моменту прийняття стандарту HTTP/2 цей протокол стане працювати ще більш ефективно.
