Введение
Заголовок (Header) – универсальное понятие в информационных технологиях, обозначающее служебный раздел в начале структурированных данных. Заголовок содержит метаинформацию о содержимом, отправителе, получателе или формате данных, позволяя получателю правильно интерпретировать и обработать следующую за ним «полезную нагрузку» (payload).
Концепция заголовка встречается на всех уровнях стека технологий: в сетевых пакетах (IP-заголовок, TCP-заголовок), HTTP-протоколе (заголовки запроса и ответа), форматах файлов (файловые заголовки EXE, PNG, PDF), почтовых сообщениях (RFC 5322 headers) и языках программирования (header-файлы в C/C++).
История и контекст
Концепция заголовка восходит к ранним сетевым протоколам ARPANET. Первые спецификации TCP/IP (RFC 791, RFC 793, 1981) формализовали структуру IP- и TCP-заголовков. HTTP-заголовки появились в HTTP/0.9 (1991, Тим Бернерс-Ли) и получили детальную спецификацию в HTTP/1.1 (RFC 2616, 1999). В 2015 году HTTP/2 ввёл бинарное сжатие заголовков (HPACK), а HTTP/3 использует QPACK – для снижения задержек при многочисленных запросах.
Как это работает
HTTP-заголовки
Наиболее широко используемый тип в веб-разработке. Представляют собой пары ключ–значение, передаваемые в начале HTTP-запроса или ответа:
- Request Headers (заголовки запроса):
Host,User-Agent,Accept,Authorization,Content-Type,Cookie. - Response Headers (заголовки ответа):
Content-Type,Cache-Control,Set-Cookie,X-Frame-Options,Strict-Transport-Security. - Representation Headers: описывают тело сообщения –
Content-Encoding,Content-Language.
Сетевые заголовки
IP-заголовок содержит адреса источника и назначения, TTL (Time to Live), идентификатор протокола. TCP-заголовок – порты, порядковый номер, флаги управления соединением (SYN, ACK, FIN).
Файловые заголовки
Магические байты в начале файла (magic numbers) позволяют операционной системе определить формат без расширения: PNG начинается с 89 50 4E 47, PDF – с 25 50 44 46.
Где применяется
- Веб-разработка – управление кэшированием, CORS, аутентификацией через Bearer-токены.
- Безопасность – заголовки CSP (Content Security Policy), HSTS, X-Content-Type-Options защищают от XSS, MITM и других атак.
- API-интеграции – передача ключей API, версий API, параметров формата в заголовках REST и GraphQL.
- Сетевая маршрутизация – IP/TCP-заголовки обеспечивают доставку пакетов через интернет.
- Программирование на C/C++ – header-файлы (.h) содержат объявления функций и структур данных.
Преимущества и ограничения
Преимущества: стандартизированный механизм передачи метаданных, разделение служебной и полезной информации, гибкость расширения протоколов через кастомные заголовки (X-Custom-Header).
Ограничения HTTP-заголовков: в HTTP/1.1 передаются в открытом тексте (уязвимость для перехвата без TLS), увеличивают размер запросов (особенно при большом числе Cookie), сложность управления заголовками безопасности требует экспертизы DevSec-команды.
Связь с другими понятиями
HTTP-заголовки неразрывно связаны с протоколом HTTP (Hypertext Transfer Protocol) и его эволюцией к HTTP/2 и HTTP/3. В контексте безопасности заголовки – первая линия защиты веб-приложений наряду с WAF (Web Application Firewall). В API-менеджменте заголовки используются для передачи версий API, токенов авторизации и метрик. Заголовки в языке HTML (теги <h1>–<h6>) – это отдельное понятие, связанное со структурой документа, а не с протоколом передачи.