Ответ
HTTP-заголовок (header) — это часть HTTP-запроса или ответа, содержащая метаданные в виде пар «ключ: значение». Заголовки управляют передачей данных, кэшированием, аутентификацией, форматом содержимого и другими аспектами взаимодействия клиента и сервера.
Основные типы заголовков:
- Заголовки запроса (Request Headers): Определяются клиентом.
User-Agent: Информация о клиенте (браузер, ОС).Authorization: Учетные данные для доступа.Accept: Типы контента, которые клиент может обработать (например,application/json).
- Заголовки ответа (Response Headers): Определяются сервером.
Content-Type: Тип передаваемых данных (например,text/html; charset=utf-8).Set-Cookie: Установка cookie на стороне клиента.Cache-Control: Директивы по кэшированию.
- Общие заголовки (General Headers): Могут быть в запросе и ответе.
Date: Дата и время сообщения.
Пример в контексте тестирования: При тестировании API мы часто проверяем заголовки. Например, с помощью Postman или в автотестах на Python:
import requests
response = requests.get('https://api.example.com/users')
# Проверяем статус и заголовки
assert response.status_code == 200
assert response.headers['Content-Type'] == 'application/json; charset=utf-8'
# Проверяем наличие кастомного заголовка
assert 'X-Request-ID' in response.headers
Понимание заголовков критично для тестирования безопасности (проверка Secure и HttpOnly флагов у cookies), производительности (настройки кэша) и корректности данных (кодировка, тип контента).