Ответ
Протокол HTTP (HyperText Transfer Protocol) работает на прикладном уровне (Application Layer, 7-й уровень) модели OSI и на соответствующем ему уровне приложений упрощенной модели TCP/IP.
Практическое значение для QA-инженера: Понимание этого уровня критично для:
- API-тестирования: Работа с методами (GET, POST, PUT, DELETE), заголовками (Headers), кодами состояния (Status Codes) и телом запроса/ответа (Body) — это и есть взаимодействие на прикладном уровне.
- Анализа проблем: Ошибки
4xx(например, 404, 400) и5xx(500, 502) указывают на проблемы на уровне приложения или сервера, в то время как проблемы с установкой соединения (таймауты) обычно относятся к транспортному (TCP) или сетевому уровню. - Работы с инструментами: Такие инструменты, как Postman, REST Assured или
curl, являются клиентами прикладного уровня.
Пример HTTP-запроса (как его видит QA-инженер):
POST /api/v1/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer <token>
{
"name": "John Doe",
"email": "john@example.com"
}
HTTP полагается на нижележащие уровни: транспортный (TCP) обеспечивает надежную доставку пакетов, сетевой (IP) — маршрутизацию, а канальный и физический — непосредственную передачу битов.