HEAD

Metoda HTTP

Specyfikacja metody HTTP HEAD

Metoda HEAD jest identyczna z metodą GET, z wyjątkiem tego, że serwer NIE MOŻE wysyłać treści wiadomości w odpowiedzi (tj. odpowiedź kończy się na końcu sekcji nagłówka). Serwer POWINIEN wysłać te same pola nagłówka w odpowiedzi na żądanie HEAD, które wysłałby, gdyby żądanie było GET, z wyjątkiem tego, że pola nagłówka ładunku (sekcja 3.3) MOGĄ zostać pominięte. Ta metoda może być używana do uzyskiwania metadanych o wybranej reprezentacji bez przesyłania danych reprezentacji i jest często używana do testowania linków hipertekstowych pod kątem ważności, dostępności i ostatnich modyfikacji.

Ładunek w komunikacie żądania HEAD nie ma zdefiniowanej semantyki; wysłanie treści ładunku w żądaniu HEAD może spowodować odrzucenie żądania przez niektóre istniejące implementacje.

Odpowiedź na żądanie HEAD może być przechowywana w pamięci podręcznej; pamięć podręczna MOŻE użyć jej do spełnienia kolejnych żądań HEAD, chyba że pole nagłówka Cache-Control wskazuje inaczej (sekcja 5.2 [RFC7234]). Odpowiedź HEAD może mieć również wpływ na wcześniej buforowane odpowiedzi na GET; patrz sekcja 4.3.5 [RFC7234].

Metoda HTTP HEAD została określona w sekcji 4.3.2 dokumentu RFC 7231 przez Internet Engineering Task Force (IETF) i World Wide Web Consortium (W3C).

Opis metody HEAD

Metoda HTTP HEAD odgrywa kluczową rolę w protokole HTTP, zwłaszcza jeśli chodzi o uzyskiwanie informacji o zasobach bez pobierania rzeczywistej zawartości lub "ciała" tych zasobów. Wyobraź sobie, że chcesz wiedzieć, jak duży jest plik lub czy określony link nadal działa, bez pobierania całego pliku lub strony internetowej. W tym miejscu pojawia się metoda HEAD.

Główne cechy i zalety metody HEAD:

  • Wydajność: HEAD pozwala uzyskać informacje o zasobie bez pobierania samego zasobu. Jest to szczególnie przydatne, gdy potrzebujesz tylko metadanych, a nie całych danych, oszczędzając przepustowość i czas.
  • Weryfikacja linków: Często metoda HEAD jest używana do testowania ważności linków. Jeśli serwer odpowiada na żądanie HEAD, zwykle oznacza to, że link jest ważny.
  • Właściwości pliku: Na przykład, jeśli ktoś chce poznać rozmiar pliku lub kiedy był ostatnio zmieniany bez pobierania go, metoda HEAD może być przydatna.
  • Zarządzanie pamięcią podręczną: Ponieważ odpowiedź na żądanie HEAD może być przechowywana w pamięci podręcznej, serwery i pamięci podręczne mogą jej użyć do określenia, czy lokalnie przechowywana wersja zasobu jest nadal aktualna.

Mówiąc prościej: Metoda HEAD jest jak "szybkie spojrzenie" na zasób. Uzyskujesz podstawowe informacje na jego temat bez zagłębiania się lub pobierania dodatkowych danych. Jest to skuteczny sposób na sprawdzenie metadanych i upewnienie się, że zasoby są nadal dostępne lub poznanie właściwości pliku przed podjęciem decyzji o pełnym pobraniu.

Przykład dla metody 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