Сравнение HTTP/2 и HTTP/3
(продолжение предыдущего поста)
В чем же разница между протоколами HTTP/2 и HTTP/3? Начнем с основ:
* 1996 → HTTP 1
* 1997 → HTTP 1.1
* 2015 → HTTP 2
* 2022 → HTTP 3
HTTP 1.1:
✓ Персистентные соединения — повторное использование соединений вместо открытия новых.
✓ Частичная передача — отправка данных частями вместо ожидания полного ответа.
✓ Улучшенный кеш — добавлены заголовки для лучшего управления кешем и соединениями.
🅇 Последовательные запросы — запросы блокируют друг друга (блокировка в очереди на уровне запросов).
🅇 Множественные соединения — браузеры использовали несколько TCP-соединений для ускорения.
Он ввел основные функции, которые используются до сих пор.
HTTP 2:
✓ Мультиплексирование — несколько запросов в одном TCP-соединении.
✓ Сжатие заголовков (HPACK) — уменьшение размера метаданных.
✓ Приоритет потоков — обеспечение загрузки критических ресурсов в первую очередь.
🅇 Блокировка в очереди (HoL) — потеря пакета блокирует все потоки.
Хотя HTTP 2 оптимизировал TCP, он оставался ограниченным из-за блокировки в очереди TCP.
HTTP 3:
✓ Построено на QUIC (UDP) — больше нет узких мест TCP.
✓ Независимые потоки — потеря пакета в одном потоке не влияет на другие.
✓ Быстрые рукопожатия — объединение настройки транспорта и шифрования в один шаг.
✓ Мандатное шифрование (TLS 1.3) — безопасность по умолчанию.
✓ Миграция соединений — бесперебойная работа при изменении сети.
Итог: HTTP 2 оптимизировал TCP, но HTTP 3 внедряет QUIC, делая соединение быстрее, надежнее и зашифрованным по умолчанию.
Post #2305
1.81K