HTTP2
HTTP/2 (Hypertext Transfer Protocol version 2, первоначально назывался HTTP 2.0), сокращённо h2 (зашифрованное соединение на основе TLS/1.2 или выше) или h2c (незашифрованное соединение), HTTP/2 — вторая основная версия протокола HTTP, используемая для передачи данных между веб-серверами и клиентами.
HTTP/2 — это первое обновление протокола HTTP после выпуска улучшенного RFC для HTTP 1.1 в 2015 году, в основном основанное на протоколе SPDY.
Большинство основных браузеров уже поддерживали этот протокол к концу 2015 года.
HTTP/2 — это сетевой протокол и обновлённая версия HTTP/1.1, выпущенная IETF в 2015 году. HTTP/2 нацелен на улучшение производительности веба, снижение задержек, повышение безопасности, а также на то, чтобы сделать веб-приложения быстрее, эффективнее и надёжнее.

Возможности HTTP/2
Ниже приведены некоторые возможности и улучшения HTTP/2:
Мультиплексирование: HTTP/2 позволяет отправлять несколько запросов и ответов одновременно, вместо их последовательной обработки, как в HTTP/1.1. Это снижает задержку, повышает эффективность и увеличивает пропускную способность сети.
Бинарная передача: HTTP/2 использует бинарный протокол, в отличие от текстового протокола, используемого HTTP/1.1. Бинарные протоколы быстрее разбираются, эффективнее передают данные и снижают накладные расходы и задержку во время передачи.
Сжатие заголовков: HTTP/2 использует алгоритм HPACK для сжатия заголовков HTTP, уменьшая объём передаваемых данных заголовков и тем самым снижая сетевую нагрузку.
Server push: HTTP/2 поддерживает server push, позволяя серверу отправлять ресурсы до того, как клиент запросит их, чтобы повысить производительность.
Повышенная безопасность: HTTP/2 по умолчанию использует TLS (Transport Layer Security) для шифрования передаваемых данных, что повышает безопасность.
Совместимость с HTTP/1.1: HTTP/2 может сосуществовать с HTTP/1.1, и серверы могут одновременно поддерживать как HTTP/1.1, так и HTTP/2. Если клиент не поддерживает HTTP/2, сервер может переключиться на HTTP/1.1.
В целом HTTP/2 имеет значительные улучшения в производительности, безопасности и удобстве использования, делая веб-приложения быстрее, эффективнее и надёжнее.
Передача данных использует мультиплексирование, позволяя объединять несколько запросов в одном TCP-соединении, как показано на следующем рисунке:

HTTP/2 снижает сетевую задержку и ускоряет загрузку страниц в браузере:

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

HTTP/2 использует сжатие заголовков для уменьшения размера передаваемых данных. Это помогает снизить использование пропускной способности сети и ускорить загрузку страниц.

HTTP/2 позволяет серверу активно отправлять данные клиенту без запроса. Это помогает снизить задержку запросов и ускорить загрузку страниц.
