Сети и протоколы
Версии HTTP: тест с выбором ответа
Шесть вопросов поперёк всего юнита. Каждый отражает выбор протокола или диагностику, которую ты делаешь в продакшне — не определение для заучивания, а компромисс, который надо взвесить под реальными сетевыми условиями.
Убедись, что связываешь multiplexing, два слоя head-of-line blocking, изоляцию потоков в QUIC, упорядоченность сжатия заголовков и операционные сигналы, которые решают, какая версия HTTP реально выигрывает.
API делает 50 параллельных под-запросов на страницу. На оптоволокне (потери менее 0.1%) HTTP/2 быстр; на сотовом канале с 1.5% потерь он заметно медленнее, чем HTTP/1.1 с 6 соединениями. Почему?
HTTP/2 мультиплексирует независимые потоки, но всё равно страдает от head-of-line blocking. На каком слое и почему HTTP/3 от него уходит?
Почему HTTP/3 заменил HPACK на QPACK и что было бы, сохрани он HPACK поверх QUIC?
Команда планирует выкатить HTTP/2 Server Push для прелоада критичного CSS. Что должен сказать senior-ревьюер?
Оператор включает HTTP/3 на edge. За ночь дашборд ALPN показывает обвал доли h3 с 21% до 1% без ошибок в приложении. Наиболее вероятная причина и верный первый шаг?
Real-time multiplayer-бэкенд держит 100k преимущественно сотовых соединений. Обновления позиции бесполезны, если приходят поздно, но пропуск одного безвреден. Какой стек подходит лучше и почему?
Сквозная линия юнита — одна эволюция: HTTP/1.1 параллелит множеством соединений, HTTP/2 мультиплексирует потоки на одном TCP-соединении (убирая HOL blocking на прикладном слое, но наследуя его на транспортном), а HTTP/3 переходит на QUIC ради per-stream восстановления потерь, сжатия заголовков QPACK и connection migration. Производственная линза постоянна — подбирай версию под сеть (HTTP/3 на потерях и мобильных, HTTP/2 на надёжном east-west), следи за ALPN и h3-fallback-by-ASN как за сигналом здоровья и предпочитай 103 Early Hints и приоритеты RFC 9218 мёртвому Server Push.