В чем разница между HTTP/1.1 и HTTP/2

«В чем разница между HTTP/1.1 и HTTP/2» — вопрос из категории Сети, который задают на 29% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

HTTP/1.1 передает данные в текстовом формате, использует несколько TCP-соединений для параллельных запросов (что приводит к overhead), и страдает от head-of-line blocking. HTTP/2 бинарный, мультиплексирует запросы через одно соединение, поддерживает приоритизацию и server push.

Пример HTTP/1.1:

GET /page HTTP/1.1
Host: example.com

HTTP/2 использует фреймы:

HEADERS frame (stream ID 1)
DATA frame (stream ID 1)

Ключевые преимущества HTTP/2:

  • Меньшая задержка
  • Эффективное использование соединения
  • Сжатие заголовков (HPACK)
  • Server push (предварительная отправка ресурсов)