Files
SecondBrain/90 Library/Networking/Протоколы/HTTP, HTTPS и HTTP3.md
T
2026-06-04 09:06:53 +03:00

5.9 KiB

title, status, type, tags, created, updated, source, aliases
title status type tags created updated source aliases
HTTP, HTTPS и HTTP/3 seed concept
web
network
networking
protocols
http
https
http3
2026-06-04 2026-06-04 00_базовые_понятия.pdf
HTTP, HTTPS и HTTP/3

HTTP, HTTPS и HTTP/3

HTTP (HyperText Transfer Protocol) — прикладной протокол для доступа к ресурсам WWW. Клиент и сервер обмениваются отдельными сообщениями: клиент отправляет HTTP-запрос, сервер возвращает HTTP-ответ.

Главное

  • HTTP сам по себе не хранит состояние между запросами. Сессии поверх HTTP обычно поддерживаются через cookies или токены.
  • HTTP/1.0 часто открывал новое TCP-соединение на каждый обмен запросом и ответом.
  • HTTP/1.1 добавил постоянные соединения и конвейерную обработку.
  • HTTP/2 использует бинарные фреймы, сжатие заголовков и мультиплексирование нескольких потоков в одном TCP-соединении.
  • HTTPS — это HTTP поверх TLS. Он защищает конфиденциальность, целостность и аутентичность соединения.
  • HTTP/3 переносит семантику HTTP на QUIC поверх UDP и уменьшает проблему head-of-line blocking.

HTTP-запрос

Стартовая строка запроса состоит из метода, цели запроса и версии протокола:

GET /index.html HTTP/1.1

Основные методы:

Метод Что делает
GET Получить ресурс; параметры часто передаются в query string.
POST Отправить данные на сервер: форма, JSON, файл.
HEAD Получить только заголовки, как у GET, без тела ответа.
PUT Создать или полностью заменить ресурс.
PATCH Частично изменить ресурс.
DELETE Удалить ресурс.
OPTIONS Узнать доступные методы/возможности сервера.

HTTP-сообщение

И запрос, и ответ имеют общую структуру:

  1. Стартовая строка.
  2. Заголовки.
  3. Пустая строка.
  4. Необязательное тело.

Заголовок записывается как Имя-Заголовка: значение. Имя не чувствительно к регистру.

Частые заголовки запроса:

  • Host — конкретный домен или IP, к которому обращается клиент.
  • User-Agent — сведения о клиенте: браузер, ОС, версия.
  • Accept — какие типы данных клиент готов принять.
  • Cookie — cookies клиента.
  • Authorization — данные аутентификации, например Bearer-токен.

HTTP-ответ

Строка статуса ответа содержит версию протокола, код состояния и текстовое пояснение:

HTTP/1.1 200 OK

Классы кодов:

  • 1xx — информационные.
  • 2xx — успешная обработка.
  • 3xx — перенаправление.
  • 4xx — ошибка клиента.
  • 5xx — ошибка сервера.

Частые коды:

  • 200 OK — запрос успешно обработан.
  • 302 Found — временное перенаправление.
  • 400 Bad Request — некорректный запрос.
  • 403 Forbidden — доступ запрещён.
  • 404 Not Found — ресурс не найден.
  • 500 Internal Server Error — внутренняя ошибка сервера.

HTTPS

HTTPS использует TLS поверх TCP-соединения. Порт по умолчанию — 443, у обычного HTTP — 80.

Базовый смысл TLS:

  • сервер предъявляет сертификат;
  • клиент проверяет сертификат через центр сертификации;
  • стороны согласуют ключи;
  • дальнейший трафик шифруется и защищается от подмены.

SSL — устаревшее название семейства протоколов, в современных системах фактически используется TLS, но термин "SSL-сертификат" всё ещё распространён.

HTTP/3

HTTP/3 работает поверх QUIC, а QUIC работает поверх UDP. QUIC объединяет надёжную доставку, шифрование TLS 1.3 и управление потоками.

Ключевые отличия:

HTTP/2 HTTP/3
Поверх TCP Поверх UDP/QUIC
TLS-хендшейк отдельно TLS 1.3 встроен в QUIC
Потеря TCP-пакета может блокировать все потоки Потеря пакета влияет только на конкретный поток
Соединение привязано к IP/порту QUIC поддерживает connection migration через connection ID

HTTP/3 не меняет смысл методов, заголовков и кодов ответа. Меняется транспортный слой.

Связи

  • TCP vs UDP
  • IP-адрес
  • DNS
  • URI, URL, URN
  • Сетевые порты