HTTP/2 (изначально HTTP/2.0) — вторая крупная версия сетевого протокола HTTP, используемая для доступа к World Wide Web. Протокол основан на SPDY.[1] HTTP/2[2] был разработан рабочей группой Hypertext Transfer Protocol working group (httpbis, где bis означает «ещё раз», «повторно», «на бис») из Internet Engineering Task Force.[3]
HTTP/2 является первой новой версией HTTP с версии HTTP 1.1, которая была стандартизирована RFC 2616 в 1999. Рабочая группа представила протокол HTTP/2 на рассмотрение IESG как Proposed Standard в декабре 2014[4][5] и IESG утвердила его к публикации как Proposed Standard 17 февраля 2015.[6][7] Спецификация HTTP/2 была опубликована как RFC 7540 в мае 2015.[8]
Усилия по стандартизации являются ответом на разработку SPDY (HTTP-совместимый протокол, разработанный Google[9] и поддерживаемый браузерами Chrome, Opera, Firefox, Internet Explorer 11, Safari и Amazon Silk).[10]
9 февраля 2015 года Google объявила о планах прекратить поддержку SPDY в Chrome в начале 2016 года в пользу HTTP/2 (Chrome 40+)[11].
По данным W3Techs на 1 февраля 2019 года, 33,1 % из 10 млн самых популярных интернет-сайтов поддерживают протокол HTTP/2[12].
19 декабря 2016 года Google объявил, что Googlebot теперь поддерживает HTTP/2.
Представитель поиска Джон Мюллер заявил[13], что при использовании протокола HTTP/2 скорость сайта возрастает. Вследствие этого протокол HTTP/2 косвенно влияет на позиции сайта.
Цели
- Добавить механизмы согласования протокола, клиент и сервер могут использовать HTTP 1.1, 2.0 или, гипотетически, иные, не HTTP-протоколы.
- Поддержать совместимость с многими концепциями HTTP 1.1, например по набору методов доступа (GET, PUT, POST и т. п.), статусным кодам, формату URI, большому количеству заголовков
- Уменьшение задержек доступа для ускорения загрузки страниц, в частности путём:
- Сжатия данных в заголовках HTTP
- Использования push-технологий на серверной стороне
- Конвейеризации запросов
- Устранения проблемы блокировки «head-of-line» протоколов HTTP 1.0/1.1
- Мультиплексирования множества запросов в одном соединении TCP
- Сохранение совместимости с широко внедрёнными применениями HTTP, в том числе с веб-браузерами (полноценными и мобильными), API, используемыми в Интернете, веб-серверами, прокси-серверами, обратными прокси-серверами, сетями доставки контента
Отличия от HTTP 1.1
Протокол HTTP/2 является бинарным. По сравнению с предыдущим стандартом изменены способы разбиения данных на фрагменты и транспортирования их между сервером и клиентом.
В HTTP/2 сервер имеет право послать то содержимое, которое ещё не было запрошено клиентом. Это позволит серверу сразу выслать дополнительные файлы, которые потребуются браузеру для отображения страниц, без необходимости анализа браузером основной страницы и запрашивания необходимых дополнений.
Также часть улучшений получена (в первом черновике HTTP/2, который представлял собой копию спецификации SPDY) за счёт мультиплексирования запросов и ответов для преодоления проблемы «head-of-line blocking» протоколов HTTP 1; сжатия передаваемых заголовков и введения явной приоритизации запросов.
Шифрование
HTTP/2 определён как для HTTP URI (то есть без шифрования), так и для HTTPS URI (поверх TLS 1.2 и выше).
Хотя стандарт определяет шифрование как необязательное[14], для большинства клиентских реализаций (Firefox[15], Chrome, Safari, Opera, IE, Edge) возможно использование HTTP/2 только поверх TLS.
Поддержка
Популярные веб-браузеры в основном поддерживают HTTP/2 с конца 2015 года[16]:
Поддержка веб-серверами[16]:
Примечания
- ↑ Bright, Peter. HTTP/2 finished, coming to browsers within weeks (неопр.). Ars Technica (Feb 18, 2015).
- ↑ Hypertext Transfer Protocol version 2 - draft-ietf-httpbis-http2-16 (неопр.). ietf.org. HTTPbis Working Group. Проверено 11 февраля 2015.
- ↑ Hypertext Transfer Protocol Bis (httpbis) - Charter (неопр.). Internet Engineering Task Force (2012).
- ↑ History for draft-ietf-httpbis-http2-16 (неопр.). IETF. — «"2014-12-16 IESG state changed to Publication Requested"». Проверено 3 января 2015.
- ↑ Raymor, Brian. Wait for it – HTTP/2 begins Working Group Last Call! (неопр.). Microsoft Open Technologies (August 7, 2014). Проверено 7 сентября 2014. (недоступная ссылка)
- ↑ The IESG. Protocol Action: 'Hypertext Transfer Protocol version 2' to Proposed Standard (draft-ietf-httpbis-http2-17.txt) (неопр.). Список рассылки httpbis (February 17, 2015). Проверено 18 февраля 2015.
- ↑ Mark Nottingham. HTTP/2 Approved (неопр.) (недоступная ссылка). www.ietf.org. Internet Engineering Task Force (February 18, 2015). Проверено 8 марта 2015. Архивировано 20 февраля 2015 года.
- ↑ RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2) (неопр.). IETF (May 2015). Проверено 14 мая 2015.
- ↑ Sebastian Anthony. S&M vs. SPDY: Microsoft and Google battle over the future of HTTP 2.0 (неопр.). ExtremeTech (March 28, 2012).
- ↑ Can the rise of SPDY threaten HTTP? (неопр.). blog.restlet.com. Restlet, Inc. (October 2011).
- ↑ Chromium Blog: Hello HTTP/2, Goodbye SPDY
- ↑ Usage of HTTP/2 for websites (неопр.). W3Techs (February 2019).
- ↑ Джон Мюллер о протоколе HTTP/2
- ↑ HTTP/2 Frequently Asked Questions (неопр.). http2.github.io. Проверено 12 февраля 2016.
- ↑ Networking/http2 - MozillaWiki (неопр.). wiki.mozilla.org. Проверено 12 февраля 2016.
- 1 2 Implementations - http2 (неопр.). Проверено 12 декабря 2015.
- ↑ Nottingham, Mark. Strengthening HTTP: A Personal View (неопр.) (January 4, 2014). Проверено 8 октября 2014. (section «Enter Snowden»)
- ↑ Bug 1097320 (неопр.). Bugzilla@Mozilla (26 ноября 2014). Проверено 24 января 2015.
- ↑ Patrick McManus. Bug 1047594 - Enable http/2 (and alpn) by default (неопр.). Bugzilla@Mozilla (3 октября 2014). Проверено 8 октября 2014.
- ↑ Firefox Notes (34.0.5) (неопр.). Mozilla (1 декабря 2014). Проверено 2 декабря 2014.
- ↑ MozillaWiki. «Networking/http2»
- ↑ Rob Trace, David Walp. HTTP/2: The Long-Awaited Sequel (неопр.). Microsoft (October 8, 2014). Проверено 8 октября 2014.
- ↑ HTTP/2: The Long-Awaited Sequel (неопр.). MSDN IEBlog. Microsoft Corporation (October 8, 2014).
- ↑ HTTP/2 support via mod_http2 module (неопр.). Проверено 15 октября 2015.
- ↑ NGINX Open Source 1.9.5 Released with HTTP/2 Support (неопр.). www.nginx.com.
Ссылки
- Спецификации
- RFC 7540 — Hypertext Transfer Protocol version 2 (HTTP/2)
- RFC 7541 — HPACK: Header Compression for HTTP/2
 |
---|
Официальные | |
---|
Неофициальные | |
---|
 |
---|
Глобально | |
---|
Локально | |
---|
Виды сайтов и сервисов | |
---|
Создание и обслуживание | |
---|
Типы макетов, страниц, сайтов | |
---|
Техническое | |
---|
Маркетинг | |
---|
Социум и культура | |
---|
 |
---|
Основы | |
---|
Подразделы | |
---|
Приложения | |
---|
Связанные темы | |
---|
Стандарты | |
---|
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .