Что такое HTTP?
DOM и браузер
HTTP (HyperText Transfer Protocol) — это протокол прикладного уровня для передачи данных между клиентом (браузером) и сервером. На нём построен весь веб.
Свойства
- Запрос-ответ — клиент шлёт запрос, сервер отвечает.
- Stateless — сервер не хранит состояние между запросами; для «памяти» используют cookie/токены.
- Текстовый (в HTTP/1.1) — человекочитаемые запросы и заголовки.
- Работает поверх TCP (HTTP/1.1, HTTP/2) или QUIC/UDP (HTTP/3).
Структура
- Запрос: метод (
GET/POST/...), путь, заголовки, тело. - Ответ: статус-код, заголовки, тело.
Статус-коды
1xx— информационные.2xx— успех (200,201,204).3xx— редиректы (301,304).4xx— ошибка клиента (400,401,403,404).5xx— ошибка сервера (500,502,503).
HTTP против HTTPS
HTTPS — это HTTP поверх TLS: данные шифруются, сервер аутентифицируется сертификатом.
Версии
- HTTP/1.1 — keep-alive позволяет переиспользовать соединение, но запросы в нём идут по одному, последовательно.
- HTTP/2 — мультиплексирование, бинарный формат.
- HTTP/3 — поверх QUIC (UDP), быстрее устанавливает соединение.
Коротко для собеседования
HTTP — stateless протокол запрос-ответ для веба поверх TCP. Запрос содержит метод, путь, заголовки, тело; ответ — статус-код и данные. HTTPS добавляет шифрование через TLS. Версии: 1.1, 2, 3.