Что такое HTTP / 2 и как он работает

то, что-это-HTTP-2Короткие байтыHTTP / 2 или HTTP Version 2 является второй основной версией сетевого протокола HTTP. Он основан на SPDY / 2 для значительного улучшения производительности сети. HTTP / 2 разработан рабочей группой по протоколу передачи гипертекста Целевой группы по инженерным проблемам интернета.

HTTP 1.1 был основным шагом по сравнению с HTTP 1.0, так как он позволял сохранять постоянные соединения (более одного запроса / ответа на одно и то же HTTP-соединение), улучшенное кэширование, новый код состояния, улучшенную поддержку сжатия, метод OPTION для перекрестного общего доступа к ресурсам в веб-приложении и гораздо более.

HTTP / 1.1 хорошо работает в Интернете уже более пятнадцати лет, но его возраст начинает проявляться. Загрузка веб-страницы требует больше ресурсов, чем когда-либо, а эффективная загрузка всех этих ресурсов затруднена, поскольку HTTP практически допускает только один невыполненный запрос на каждое соединение TCP.

Из-за этого многие TCP-соединения создаются для выдачи параллельных запросов. И поскольку нет никаких ограничений на это; в большинстве случаев используется слишком много соединений, что приводит к перегрузке TCP и несправедливому использованию ресурсов браузерами. Это также означает, что много дубликатов данных передается «по проводам».

Если сделано слишком много запросов, это снижает производительность. Это привело отрасль к тому, что в соответствии с передовой практикой используются такие вещи, как спрайты, данные: встраивание, разбиение областей и объединение. Эти хаки являются признаками основных проблем в самом протоколе и сами по себе вызывают ряд проблем при использовании.

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

На высоком уровне HTTP / 2:

  • является двоичным, а не текстовым
  • полностью мультиплексирован, а не упорядочен и блокируется
  • поэтому можно использовать одно соединение для параллелизма
  • использует сжатие заголовка, чтобы уменьшить накладные расходы
  • позволяет серверам активно «проталкивать» ответы в клиентские кеши

Узнайте больше о HTTP / 2 здесь.

Мы что-то пропустили? Дайте нам знать в комментариях ниже.

Ссылка на основную публикацию