Какие данные передаются между клиентом и сервером по HTTP?

«Какие данные передаются между клиентом и сервером по HTTP?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Обмен данными происходит через HTTP-запросы (от клиента) и HTTP-ответы (от сервера). Передаваемые компоненты:

1. Заголовки (Headers) Метаданные, описывающие запрос или ответ.

Content-Type: application/json
Authorization: Bearer <token>
Cookie: sessionId=abc123

2. Тело сообщения (Body) Полезная нагрузка, например, данные формы или JSON-объект.

{
  "username": "john_doe",
  "email": "john@example.com"
}

3. Параметры запроса

  • Query-параметры: Добавляются в URL после ? (/api/users?role=admin).
  • Параметры пути (Path variables): Часть самого URL (/api/users/42).

4. Статус ответа (Status Code) Числовой код результата обработки запроса (200 OK, 404 Not Found, 500 Internal Server Error).

Пример полного POST-запроса:

POST /login HTTP/1.1
Host: api.example.com
Content-Type: application/json
Accept: application/json

{"login": "user", "password": "secret"}