Коли ви відкриваєте сайт, браузер надсилає HTTP запит на сервер. Сервер обробляє його і повертає HTTP відповідь — сторінку, картинку, JSON-дані або помилку.
Це базовий принцип роботи вебу: запит → відповідь.
Структура HTTP запиту
HTTP запит складається з трьох частин.
Рядок запиту (Request Line)
Перший рядок містить основну інформацію:
GET /api/users HTTP/1.1
Тут вказано метод (GET), шлях до ресурсу (/api/users) і версію протоколу (HTTP/1.1).
Заголовки (Headers)
Додаткова інформація про запит:
Host: example.com
Content-Type: application/json
Authorization: Bearer token123
Cookie: session=abc123
Основні заголовки:
| Заголовок | Що робить |
|---|---|
| Host | Домен, до якого звертаємось |
| Content-Type | Тип даних (JSON, HTML, форма) |
| Authorization | Токен авторизації |
| Cookie | Дані сесії користувача |
| Accept | Які формати відповіді приймаємо |
Тіло запиту (Body)
Дані, які передаємо на сервер. Використовується для POST, PUT, PATCH:
json
{
"name": "Іван",
"email": "ivan@example.com"
}
GET запити зазвичай не мають тіла — параметри передаються в URL.
Структура HTTP відповіді
Відповідь від сервера теж має три частини.
Статусний рядок (Status Line)
HTTP/1.1 200 OK
Версія протоколу, код статусу (200) і текстовий опис (OK).
Заголовки відповіді
Content-Type: application/json
Date: Mon, 18 Apr 2026 12:00:00 GMT
Server: nginx
Тіло відповіді (Body)
Власне дані — HTML-сторінка, JSON, картинка або повідомлення про помилку.
Коди статусу
| Код | Значення | Коли отримаєте |
|---|---|---|
| 200 | OK | Запит успішний |
| 201 | Created | Ресурс створено (після POST) |
| 204 | No Content | Успішно, але без тіла відповіді |
| 301 | Moved Permanently | Сторінка переїхала назавжди |
| 302 | Found | Тимчасовий редірект |
| 400 | Bad Request | Неправильний запит |
| 401 | Unauthorized | Потрібна авторизація |
| 403 | Forbidden | Доступ заборонено |
| 404 | Not Found | Сторінка не знайдена |
| 500 | Internal Server Error | Помилка на сервері |
| 502 | Bad Gateway | Проблема з проксі або бекендом |
| 503 | Service Unavailable | Сервер перевантажений |
Проста логіка: 2xx — успіх, 3xx — редірект, 4xx — помилка клієнта, 5xx — помилка сервера.
Методи HTTP
| Метод | Для чого | Приклад |
|---|---|---|
| GET | Отримати дані | Завантажити список користувачів |
| POST | Створити новий ресурс | Реєстрація, створення поста |
| PUT | Замінити ресурс повністю | Оновити профіль цілком |
| PATCH | Оновити частково | Змінити лише email |
| DELETE | Видалити | Видалити коментар |
Отже
HTTP — протокол спілкування між браузером і сервером. Запит містить метод, URL, заголовки і (опційно) тіло. Відповідь — код статусу, заголовки і дані.
Розуміння цієї структури допомагає дебажити API, читати логи і розуміти, чому щось не працює.