Веб давно живет на текстовом протоколе HTTP/1.1, который не менялся уже последние 16 лет. Текущая версия протокола HTTP/1.1 была стандартизирована RFC 2068 в 1997, а принята в 1999 году. Новшеством в этой версии было добавление режима «постоянного соединения»: TCP-соединение может оставаться открытым после отправки ответа на запрос, что позволяет посылать несколько запросов за одно соединение. Клиент обязан посылать информацию об имени хоста, к которому он обращается, что сделало возможной более простую организацию виртуального хостинга.
Веб стремительно развивается, бизнес- логика постепенно перешла с серверов на клиенты (браузеры). Количество объемов загружаемой информации на одну веб-страницу значительно выросло, а с ростом популяризации мобильного интернета снова стал актуальным вопрос быстрой загрузки на узких каналах. Наступила необходимость в усовершенствовании протертого до дыр протокола HTTP/1.1.
Когда смотришь на тенденции развития некоторых наиболее популярных на сегодня сайтов и сравниваешь, сколько занимает время загрузки их главной страницы, тогда становятся очевидными тенденции развития веба. За последние несколько лет количество данных, которые требуется передать от сервера клиенту, постепенно выросло до отметки 2Мб и выше. Но наиболее важен для нас факт того, что число объектов, которое загружается клиенту, в среднем составляет около ста единиц. Таким образом, получается, что, чтобы отобразить всю страницу целиком, необходимо загрузить сто объектов!
Ко всему прочему HTTP 1.1 очень чувствителен к задержкам, частично из-за того, что в конвейерной передаче HTTP по-прежнему хватает проблем, и она отключена у подавляющего числа пользователей. Каналы с высокой задержкой, такие как мобильные сети, значительно снижают скорость загрузки страниц.
HTTP/2.0
11 февраля 2015 года были опубликованы финальные версии черновика новой версии HTTP протокола. Протокол, хоть и носит название «Hyper Text Transfer Protocol», тем не менее, является бинарным, в отличие от предыдущих версий. Протокол HTTP/2 основан на базе протокола SPDY и был разработан рабочей группой Hypertext Transfer Protocol working group (httpbis, где bis означает «еще раз», «повторно», «на бис») из Internet Engineering Task Force.
Статью целиком читайте в журнале «Системный администратор», №11 за 2015 г. на страницах 52-55.
PDF-версию данного номера можно приобрести в нашем магазине.
- Страница для загрузки веб-сервера Nginx – http://nginx.org/ru/download.html.
- Расширение для Chrome для проверки HTTP2 – https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?hl=en.
- Расширение для Firefox для проверки HTTP2 – https://addons.mozilla.org/en-us/firefox/addon/spdy-indicator.