Ответ
HTTP-заголовки — это метаданные в виде пар «ключ: значение», которые передаются в HTTP-запросе или ответе. Они управляют обработкой запроса, форматом данных, кешированием, аутентификацией и другими аспектами клиент-серверного взаимодействия.
Основные категории заголовков:
| Категория | Назначение | Примеры заголовков |
|---|---|---|
| Заголовки запроса (Request Headers) | Описывают запрашиваемый ресурс и предпочтения клиента. | Host, User-Agent, Accept, Accept-Language, Authorization, Content-Type |
| Заголовки ответа (Response Headers) | Содержат дополнительную информацию о сервере и ответе. | Server, Set-Cookie, Content-Type, Cache-Control, Location (для редиректов) |
| Общие заголовки (General Headers) | Применимы как к запросам, так и к ответам. | Date, Connection, Cache-Control |
| Заголовки сущности (Entity Headers) | Описывают содержимое тела сообщения (body). | Content-Length, Content-Type, Content-Encoding |
Практический пример HTTP-запроса с заголовками:
GET /api/products/123 HTTP/1.1
Host: store.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Accept: application/json
Accept-Language: en-US,en;q=0.9
Authorization: Bearer xyz789
Практический пример HTTP-ответа с заголовками:
HTTP/1.1 200 OK
Date: Mon, 23 Mar 2023 10:00:00 GMT
Server: nginx/1.18.0
Content-Type: application/json; charset=utf-8
Content-Length: 85
Cache-Control: max-age=3600
{"id": 123, "name": "Laptop", "price": 999.99}
Зачем это нужно QA-инженеру?
- Тестирование API: Проверка корректности отправляемых и получаемых заголовков.
- Отладка: Анализ заголовков в инструментах (DevTools, Postman, Fiddler) для поиска причин ошибок.
- Проверка безопасности: Контроль наличия заголовков типа
Content-Security-Policyили отсутствия лишней информации вServer.