Ответ
Заголовки HTTP — это пары «ключ-значение», которые передают метаданные о запросе или ответе. Они управляют кешированием, аутентификацией, форматом данных и поведением клиента/сервера.
Ключевые заголовки для тестирования API:
| Категория | Заголовок | Пример значения | Назначение |
|---|---|---|---|
| Тип содержимого | Content-Type |
application/json |
Указывает формат тела запроса (MIME-тип). Сервер использует его для парсинга. |
| Принятие данных | Accept |
application/json |
Сообщает серверу, в каком формате клиент ожидает ответ. |
| Аутентификация | Authorization |
Bearer eyJhbGciOi... |
Передает учетные данные или токен для доступа к защищенным ресурсам. |
| Клиентская информация | User-Agent |
Mozilla/5.0 ... |
Идентифицирует клиентское приложение, браузер, ОС. Может влиять на ответ сервера. |
| Управление кешем | Cache-Control |
no-cache |
Директивы для кеширования запросов и ответов. |
Пример полного HTTP POST-запроса:
POST /api/v1/orders HTTP/1.1
Host: api.shop.com
Content-Type: application/json
Authorization: Bearer xyz789abc
Accept: application/json
User-Agent: MyTestRunner/1.0
{"productId": 456, "quantity": 2}
Почему это важно в тестировании?
Content-Type/Accept: Несоответствие — частая причина ошибок415 Unsupported Media Typeили406 Not Acceptable.Authorization: Позволяет тестировать endpoints с разными уровнями доступа (авторизованный/неавторизованный пользователь).User-Agent: Некоторые API могут возвращать разный контент для мобильных и десктопных клиентов.
Инструменты для проверки: Postman, Insomnia, DevTools Network tab, curl -v.