System Design Space

    Глава 80

    Обновлено: 9 февраля 2026 г. в 20:31

    HTTP протокол

    Прогресс части0/20

    Базовый протокол веба: запрос‑ответ, ключевые свойства и эволюция до HTTP/2 и HTTP/3.

    Источник

    HTTP Overview (MDN)

    Определение HTTP, принципы и базовые свойства протокола.

    Перейти на сайт

    HTTP — протокол прикладного уровня, ставший основой Всемирной паутины и большинства веб‑API. Он описывает обмен в формате «запрос → ответ», оставаясь простым и расширяемым для разных сценариев.

    Ключевые свойства HTTP

    Клиент‑серверная модель

    Клиент инициирует запрос, сервер отвечает ресурсом или статусом.

    Stateless

    Каждый запрос независим, а состояние хранится вне протокола.

    Расширяемость через заголовки

    Headers позволяют добавлять метаданные, кеширование и контент‑неготиацию.

    Промежуточные узлы

    Прокси, кеши и шлюзы помогают масштабировать и ускорять доставку.

    Как выглядит обмен

    Запрос содержит метод, путь и заголовки, а ответ — статус, заголовки и полезную нагрузку. Эта простая форма обеспечивает универсальность и совместимость между клиентами и серверами.

    Запрос ↔ ответ в HTTP

    HTTP — это чёткая пара: request от клиента и response от сервера.

    Состав сообщения

    • Метод (GET, POST, PUT)
    • URI / путь ресурса
    • Headers
    • Тело (опционально)
    ClientServer
    Клиент
    REQ
    Сервер
    Отправка запроса без сохранения состояния на сервере.

    Источник

    Evolution of HTTP (MDN)

    История и ключевые вехи развития HTTP/1.1, HTTP/2 и HTTP/3.

    Перейти на сайт

    Эволюция HTTP

    Развитие протокола шло от простого текстового обмена к оптимизации производительности и устойчивости.

    HTTP/1.1

    1997 (RFC 2068), обновлён в 1999 (RFC 2616)

    Стандартный «текстовый» веб

    • Постоянные соединения и пайплайнинг
    • Кэширование и chunked transfer
    • Часто требует несколько соединений

    HTTP/2

    2015 (RFC 7540)

    Бинарное фреймирование

    • Мультиплексирование потоков в одном соединении
    • Сжатие заголовков (HPACK)
    • Снижение задержек при загрузке страниц

    HTTP/3

    2022 (RFC 9114)

    QUIC поверх UDP

    • Быстрый handshake и меньше блокировок
    • Избежание TCP head‑of‑line
    • Лучшая работа в мобильных сетях

    Почему это важно для System Design

    • HTTP определяет формат API и влияет на latency, кэширование и поведение клиентов.
    • Выбор версии протокола влияет на эффективность соединений и масштабирование.
    • Понимание ограничений помогает проектировать устойчивые и производительные сервисы.