HTTP-запрос HEAD

HTTP-запрос HEAD используется для получения заголовков ответа от сервера без передачи самого тела (контента) ресурса.

По сути метод HEAD, он работает идентично методу GET, но сервер возвращает только строку состояния и заголовки, опуская тело ответа (например, HTML-код страницы или содержимое файла).

Вот основные сценарии, для чего он применяется

1. Проверка доступности ресурса (Link Checker)

Позволяет проверить, существует ли страница или файл по указанному URL, не скачивая его целиком.

Если сервер вернул код 200 OK — ресурс существует.
Если 404 Not Found — ресурс удален.
Это значительно быстрее и экономит трафик, особенно при проверке больших списков ссылок.

2. Получение метаданных (размер, тип)

Позволяет узнать характеристики файла перед его скачиванием:
Content-Length: Узнать размер файла (в байтах), чтобы отобразить пользователю вес файла или проверить, есть ли место на диске.
Content-Type: Проверить MIME-тип (например, image/jpeg, application/pdf), чтобы убедиться, что ссылка ведет на нужный тип контента, а не на вредоносный скрипт.

3. Проверка актуальности кэша

Используется для эффективного управления кэшированием. Клиент отправляет HEAD с заголовками условного запроса (например, If-Modified-Since или If-None-Match), чтобы узнать, изменился ли ресурс:
Если ресурс не изменился, сервер вернет 304 Not Modified. Клиент может спокойно использовать локальную копию.
Если изменился, сервер вернет 200 OK и новые заголовки (но всё еще без тела), после чего клиент решит, нужно ли делать полноценный GET.

4. Проверка безопасности и аутентификации

Позволяет проверить, какие заголовки безопасности настроены на сервере, или проверить работоспособность авторизации: Можно проверить, требует ли ресурс авторизации (заголовок WWW-Authenticate), не отправляя логин и пароль в теле запроса (если они не требуются в заголовке Authorization).

5. Обнаружение перенаправлений

Позволяет проследить цепочку редиректов (коды 301, 302) без загрузки финальной страницы. Это полезно для сервисов сокращения ссылок или проверки SEO-настроек.

Технические особенности

Производительность: Запрос HEAD обычно обрабатывается быстрее, чем GET, так как серверу не нужно формировать и передавать тело ответа (хотя он может выполнять ту же бизнес-логику).

Поддержка: Хотя метод стандартизирован (RFC 9110), не все серверы или веб-приложения реализуют его корректно. Некоторые обрабатывают HEAD точно так же, как GET, просто отрезая тело ответа перед отправкой, другие же могут не поддерживать его вовсе (возвращая 405 Method Not Allowed).

Пример из практики (cURL)

Если выполнить команду:
# curl -I https://int4e.com/robots.tgz
Вы увидите только заголовки:
HTTP/2 200 server: nginx date: Thu, 26 Mar 2026 16:39:36 GMT content-type: application/octet-stream content-length: 183 last-modified: Thu, 26 Mar 2026 16:38:11 GMT etag: "69c560f3-b7" accept-ranges: bytes

Вы узнали, что это арив, размер 183байт.

Если выполнить команду:
# curl -I https://rybolov.dp.ua/make_leadcore.flv
Вы увидите только заголовки:
HTTP/1.1 405 Method Not Allowed Date: Thu, 26 Mar 2026 16:34:56 GMT Server: Apache/2.4.65 (FreeBSD) PHP/8.5.0RC5 Allow: Content-Type: text/html; charset=iso-8859-1

Вы узнали, что метод не подерживается.




Вы только посетили наш сайт, КОММЕНТИРОВАНИЕ будет доступно через несколько минут.
возможно у Вас отключен javascript, если включен - просто обновите страницу