HEAD

Метод HTTP

Спецификация HTTP-метода HEAD

Метод HEAD идентичен методу GET, за исключением того, что сервер НЕ ДОЛЖЕН посылать в ответ тело сообщения (т.е. ответ завершается в конце секции заголовков). В ответ на запрос HEAD сервер ДОЛЖЕН послать те же поля заголовков, что и в случае запроса GET, за исключением того, что поля заголовка полезной нагрузки (раздел 3.3) МОГУТ быть опущены. Этот метод может использоваться для получения метаданных о выбранном представлении без передачи данных представления и часто применяется для проверки гипертекстовых ссылок на валидность, доступность и недавнюю модификацию.

Полезная нагрузка в сообщении запроса HEAD не имеет определенной семантики; отправка тела полезной нагрузки в запросе HEAD может привести к тому, что некоторые существующие реализации будут отклонять запрос.

Ответ на запрос HEAD является кэшируемым; кэш может использовать его для удовлетворения последующих запросов HEAD, если иное не указано в поле заголовка Cache-Control (раздел 5.2 в [RFC7234]). Ответ HEAD может также оказывать влияние на ранее кэшированные ответы GET; см. раздел 4.3.5 [RFC7234].

Метод HTTP HEAD был специфицирован в разделе 4.3.2 документа RFC 7231 рабочей группой по проектированию Интернета (IETF) и консорциумом World Wide Web Consortium (W3C).

Описание метода HEAD

Метод HEAD играет центральную роль в протоколе HTTP, особенно когда речь идет о получении информации о ресурсах без загрузки их реального содержимого или "тела". Представьте себе, что вы хотите узнать размер файла или проверить, работает ли еще определенная ссылка, не загружая при этом весь файл или веб-страницу. Вот тут-то и пригодится метод HEAD.

Основные особенности и преимущества метода HEAD:

  • Эффективность: HEAD позволяет получить информацию о ресурсе, не загружая сам ресурс. Это особенно удобно, когда нужны только метаданные, а не все данные, что позволяет экономить полосу пропускания и время.
  • Проверка ссылок: Часто метод HEAD используется для проверки валидности ссылок. Если сервер отвечает на запрос HEAD, это обычно означает, что ссылка действительна.
  • Свойства файла: Например, если необходимо узнать размер файла или время его последнего изменения, не загружая его, метод HEAD может быть полезен.
  • Управление кэшем: поскольку ответ на запрос HEAD является кэшируемым, серверы и кэши могут использовать его для определения актуальности локально хранящейся версии ресурса.

Проще говоря: Метод HEAD - это как "беглый взгляд" на ресурс. Вы получаете основную информацию о нем, не углубляясь и не загружая дополнительные данные. Это эффективный способ проверить метаданные и убедиться в том, что ресурсы все еще доступны, или узнать свойства файла, прежде чем принять решение о его полной загрузке.

Пример для HTTP-метода HEAD

Request header:
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache