Перейти к содержанию

Введение в протокол HTTP/2

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

  • мультиплексирование
  • сжатие и бинарная передача
  • контроль потока
  • серверные пуши

Мультиплексирование

Мультиплексирование - это новая стратегия диалога между клиентом и сервером. Используя одно и то же соединение, клиент может отправлять несколько запросов на сервер. На этом основаны потоковые запросы gRPC.

Сжатие и бинарная передача данных

HTTP/2 передаёт данные в бинарном виде (в отличие от HTTP/1), а также позволяет сжимать передающиеся данные. Это даёт такие преимущества:
- Уменьшаются сетевые задержки засчёт уменьшения объёма передаваемых данных;
- Уменьшается потребление трафика.

HTTP/2 позволяет также сжимать заголовки согласно спецификации HPACK

Контроль потока

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

Серверные пуши

HTTP/2 поддерживает пуши с сервера, но не так, как в SignalR (который использует, чаще всего, WebSockets), так как сервер HTTP/2 основан на HTTP. Эта стратегия не поддерживается gRPC.


Последнее обновление : 23 апреля 2023 г.
Дата создания : 6 апреля 2023 г.

Комментарии

Комментарии