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 от Internet Engineering Task Force (IETF) и World Wide Web Consortium (W3C).

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

Методът HTTP 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