HTTP / HTTPS
HTTP — протокол, по которому браузер/клиент общается с сервером. Запрос состоит из метода, адреса и (часто) тела:
GET /api/users/5 HTTP/1.1
Host: example.com
Authorization: Bearer eyJ...
HTTP/1.1 200 OK
Content-Type: application/json
{"id": 5, "name": "Артур"}
HTTPS — то же самое, но зашифрованное (HTTP + TLS-шифрование). Без HTTPS любой посередине (на Wi-Fi, у провайдера) может прочитать или подменить передаваемые данные — пароли, токены, личную информацию.
Копнуть глубже
Основные HTTP-методы:
| Метод | Назначение |
|---|---|
GET | получить данные |
POST | создать новое |
PUT | полностью заменить существующее |
PATCH | частично изменить |
DELETE | удалить |
Заголовки (headers) — метаданные запроса/ответа: Content-Type (формат тела — JSON, XML), Authorization (токен для аутентификации), Cache-Control (правила кэширования, см. тему «Стратегии кэширования»).
Как работает HTTPS. При установке соединения сервер предоставляет сертификат (подтверждённый удостоверяющим центром), браузер проверяет его подлинность, и дальше весь обмен данными шифруется по согласованному ключу — это называется TLS-рукопожатие (handshake). После этого даже перехваченный трафик выглядит как случайный набор байт без ключа расшифровки.
• зачем нужен HTTPS и в общих чертах как работает шифрование (если дошёл до 2-го слоя).