HTTPQUERY
Русский

HEAD

Применение

Запрос HEAD получает метаданные о ресурсе: размер, тип, свежесть и факт существования. Сервер обрабатывает запрос точно так же, как GET, но останавливается перед передачей тела. Все заголовки ответа, включая Content-Length и Content-Type, совпадают с заголовками полного ответа на GET.

Типичные сценарии использования

Проверка ссылок. Автоматизированные инструменты отправляют запросы HEAD, чтобы убедиться, что URL возвращают 200, не скачивая страницы целиком. Битые ссылки проявляются как ответы 404 или 410.

Мониторинг и проверки работоспособности. Системы мониторинга доступности опрашивают конечные точки с помощью HEAD, чтобы подтвердить доступность. Меньший размер ответа снижает расход трафика и позволяет сократить интервалы опроса.

Зондирование согласования содержимого. Клиенты изучают заголовки Content-Type, Content-Encoding и Content-Language, прежде чем решить, загружать ли ресурс целиком.

Проверка кэша. Ответ на HEAD, содержащий ETag или Last-Modified, позволяет кэшам проверить свежесть, не скачивая тело. Если заголовки ответа на HEAD указывают, что кэшированная копия устарела, кэш соответствующим образом помечает запись.

Оценка размера загрузки. Файловые менеджеры и менеджеры загрузок читают Content-Length из ответа на HEAD, чтобы показать размер файла или выделить место на диске до начала передачи.

Примечание

Тело запроса в запросе HEAD не имеет общепринятой семантики. Некоторые реализации отклоняют запросы HEAD с телом. Включение тела рискует спровоцировать уязвимости контрабанды запросов (request smuggling) у промежуточных узлов, неверно разбирающих границы сообщения.

Пример

Запрос HEAD для проверки существования ресурса и изучения заголовков ответа. Сервер возвращает 200 с метаданными содержимого, но без тела.

Запрос

HEAD /report.pdf HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 284750
Last-Modified: Mon, 10 Feb 2025 08:30:00 GMT
ETag: "f47ac10b"

Заголовок Content-Length показывает, что файл занимает примерно 278 КБ. Заголовки Last-Modified и ETag дают валидаторы для условных запросов при последующих обращениях.

CORS

HEAD входит в белый список методов CORS. Межсайтовые запросы HEAD не вызывают предварительный запрос, следуя тому же поведению безопасного списка, что и GET.

HEAD и GET

HEAD возвращает те же заголовки, что и GET, но полностью опускает тело ответа. Это делает HEAD быстрее и экономичнее по трафику для задач, которым нужны только метаданные.

Распространённые применения включают проверку существования ресурса, чтение Content-Length для определения размера файла, изучение дат Last-Modified и получение валидаторов кэша, таких как ETag, без загрузки ресурса целиком.

Некоторые серверы реализуют HEAD, выполняя внутри полный обработчик GET и отсекая тело перед отправкой ответа. В таких случаях выигрыш в производительности ограничивается лишь сэкономленным временем передачи байтов тела.

Ответы на HEAD также обновляют кэшированные ответы на GET. Когда кэш отправляет запрос HEAD и возвращённые валидаторы совпадают с сохранённой записью GET, кэш соответствующим образом обновляет сохранённые заголовки.

Влияние на SEO

Поисковые роботы загружают страницы методом GET, а не HEAD, поэтому HEAD не влияет на индексирование. HEAD остаётся полезным для проверщиков ссылок, систем мониторинга доступности и инструментов SEO-аудита, которые подтверждают, что URL возвращает 200, не скачивая тело.