Ответ
HTTP response (ответ) — это сообщение, которое сервер отправляет клиенту в результате обработки HTTP-запроса. Ответ содержит статус выполнения, метаданные и, при наличии, запрошенные данные.
Структура HTTP-ответа:
- Статус-строка (Status Line):
- Код состояния (Status Code): Трехзначное число, указывающее на результат (например,
200 OK,404 Not Found,500 Internal Server Error). - Текстовая причина (Reason Phrase): Краткое описание кода.
- Код состояния (Status Code): Трехзначное число, указывающее на результат (например,
- Заголовки (Headers): Метаданные ответа (например,
Content-Type: application/json,Cache-Control: max-age=3600). - Тело (Body): Основные данные ответа (HTML, JSON, XML, файл). Может отсутствовать (например, в ответе
204 No Content).
Пример успешного JSON-ответа:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 52
Date: Mon, 01 Jan 2024 12:00:00 GMT
{
"id": 123,
"name": "Alice",
"email": "alice@example.com"
}
Ключевые аспекты для тестирования API:
- Коды состояния: Соответствие ожидаемому коду для различных сценариев (успех, ошибка клиента
4xx, ошибка сервера5xx). - Заголовки: Наличие и корректность критичных заголовков (
Content-Type,Cache-Control). - Структура тела: Соответствие схеме (JSON Schema), типы данных, наличие обязательных полей.
- Производительность: Время отклика (response time) должно укладываться в требования.
- Безопасность: Наличие защитных заголовков (например,
X-Content-Type-Options: nosniff).