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

Короче говоря, HTTP1.1 делает загрузку веб-страницы более ресурсоемкой, чем когда-либо. Это привело к тому, что в отрасли стали использовать лучшие практики, такие как конкатенация, встраивание данных и сегментирование доменов, в попытке исправить основные проблемы протокола.

HTTP и SPDY: основа HTTP2

Войдите в SPDY в 2012 году. SPDY был следующим протоколом с открытым исходным кодом, который был разработан, на этот раз Google, в попытке уменьшить задержку загрузки веб-страницы и повысить безопасность. SPDY изменил способ отправки HTTP-запросов и ответов по сети и стал эффективной основой для HTTP2. Совсем недавно Google объявил, что удалит SPDY в пользу HTTP2.

Вот основные различия между HTTP1 и HTTP2:

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

Подводя итог: HTTP2 уже доступен. Рекомендуется использовать HTTP2 в качестве поддержки для более быстрого веб-сайта и лучшего взаимодействия с пользователем, но старые резервные рекомендации по оптимизации изображений без потерь и т. д. остаются в силе.

HTTP2 — это замена тому, как HTTP выражается «по сети», а не переписанный с нуля протокол. Это означает, что методы HTTP, семантика и коды состояния останутся прежними. Для использования API, которые работают с HTTP1, могут потребоваться небольшие дополнения.

HTTP2 не требует шифрования, реструктуризации или перезаписи URL-адресов, а также любых изменений в работе существующих веб-приложений. Однако новые приложения могут использовать возможности HTTP2 для увеличения скорости, что особенно важно для мобильного поиска.