Что такое HTTP / 2?

Весь веб-трафик в Интернете использует хорошо известный протокол HTTP. Возможно, вы не знаете, что на самом деле было опубликовано несколько версий протокола HTTP, которые использовались в Интернете. Первой опубликованной версией была HTTP V0.9, выпущенная в 1991 году, версия 1.0 была выпущена в 1996 году и заменена в 1997 году на HTTP / 1.1.

С тех пор HTTP / 1.1 был стандартным протоколом веб-коммуникаций. Несмотря на то, что в протокол был внесен ряд изменений и уточнений, которые сделали устаревшие предыдущие версии, имя HTTP / 1.1 было использовано. Последние изменения были внесены в 2014 году.

HTTP / 2 был опубликован в 2015 году и был разработан, чтобы предлагаться вместе с предыдущим стандартом HTTP / 1.1, а не заменять его. Он основан на протоколе SPDY (произносится как «быстрый»), разработанном Google, и предназначен для обеспечения максимальной совместимости с HTTP / 1.1, например, с кодами ошибок и методами запроса.

Протокол HTTP / 2 также разработан для увеличения скорости загрузки веб-страниц за счет ряда улучшений эффективности. Если не заменять HTTP / 1.1, старые устройства, не поддерживающие HTTP / 2, по-прежнему могут работать, а те, которые поддерживают новый протокол, могут получить преимущества.

Улучшения HTTP / 2

Одно из больших изменений в HTTP / 2 заключается в том, что все ресурсы на странице могут быть запрошены и возвращены в одном соединении. Ранее в HTTP / 1.1 веб-браузер должен был открывать новое соединение для каждого запрашиваемого ресурса, а затем закрывать его. Это приводит к большим дополнительным накладным расходам, особенно если на странице есть десятки или даже сотни ресурсов, что замедляет время загрузки страницы. Запрашивая все ресурсы в одном соединении, браузер должен согласовать только одно соединение с веб-сервером, уменьшая накладные расходы на передачу и нагрузку на ресурсы.

Совет: Веб-ресурс - это любой файл, используемый для отображения веб-страницы. Например, это включает HTML-код, изображения, информацию о стилях и сценарии.

Еще одно улучшение в HTTP / 2 заключается в том, что веб-запросы теперь «конвейерные», что позволяет отправлять несколько запросов до получения каких-либо ответов. Ранее в HTTP / 1.1 каждый запрос нужно было делать по порядку, что означало, что время тратилось на ожидание ответа на предыдущий запрос, чтобы запросить следующий ресурс, задерживая время загрузки страницы.

Реализация в браузерах

Все современные браузеры поддерживают HTTP / 2. К сожалению, скорость внедрения на веб-сайтах менее универсальна. Тем не менее, пользователи могут получить преимущества HTTP / 2 на тех веб-сайтах, которые были настроены для его использования.

Хотя сам протокол HTTP / 2 не требует использования шифрования, все его реализации в браузерах. Таким образом, протокол HTTP / 2 может использоваться только через HTTPS-соединения.