База знань
HTTP-запит (HTTP request)
HTTP-запит (HTTP request) складається з трьох основних частин:
Стартовий рядок (Request Line):
Метод: Це метод запиту, наприклад GET, POST, PUT, DELETE тощо, який вказує на тип операції, яку клієнт хоче виконати.
URI (Uniform Resource Identifier): Це адреса ресурсу на сервері, до якого клієнт хоче отримати доступ, наприклад, /index.html.
Версія HTTP: Вказує на версію протоколу HTTP, який використовується для запиту, зазвичай HTTP/1.1 або HTTP/2.
Приклад стартового рядка для POST запиту:

У цьому запиті:
POST /login/index.php HTTP/1.1 — це стартовий рядок, що вказує на метод POST, ресурс для запиту (/login/index.php) та версію HTTP.
Заголовки запиту включають інформацію про хост, контент, тип контенту та інші параметри, які необхідні для коректної обробки сервером.
Тіло запиту (body) містить дані, які передаються методом application/x-www-form-urlencoded, що є типовим для форм, які відправляються через веб-браузер. Тут передаються такі параметри, як anchor, logintoken, username, і password.
Заголовки (Headers):
Заголовки містять метадані, які використовуються для передачі додаткової інформації між клієнтом і сервером. Вони можуть включати інформацію про тип браузера (User-Agent), тип даних, які клієнт може приймати (Accept), тип вмісту запиту (Content-Type), параметри авторизації, кукі (cookies) та багато іншого.
Кожен заголовок складається з імені заголовка і його значення, розділеного двокрапкою.
Приклади заголовків:

Тіло запиту (Body) (не обов’язкове):
Тіло запиту є опціональною частиною і використовується, коли клієнт відправляє дані серверу. Таке трапляється, наприклад, при поданні форми через метод POST або при відправці JSON або XML даних через API запити.
Тіло запиту не використовується для методів запитів як GET, які призначені тільки для отримання даних.
Тіло запиту може виглядати так:

Коли клієнт (наприклад, веб-браузер) відправляє HTTP-запит серверу, сервер обробляє цей запит і відправляє відповідь (HTTP response), яка також має власну структуру зі статусним рядком (status line), заголовками відповіді та, можливо, тілом відповіді.