HEAD
Die HEAD
HTTP-Methode fordert die Metadaten einer Ressource in Form von Headern an, die der Server gesendet hätte, wenn die GET
-Methode statt der HEAD
-Methode verwendet worden wäre.
Diese Methode kann in Fällen eingesetzt werden, in denen eine URL einen großen Download erzeugen könnte. Zum Beispiel kann eine HEAD
-Anfrage genutzt werden, um den Content-Length
-Header zu lesen, um die Dateigröße zu überprüfen, bevor die Datei mit einem GET
heruntergeladen wird.
Wenn die Antwort auf eine HEAD
-Anfrage zeigt, dass eine zwischengespeicherte URL-Antwort veraltet ist, wird die zwischengespeicherte Kopie ungültig, auch wenn keine GET
-Anfrage gemacht wurde.
Warnung: Wenn eine Antwort auf eine HEAD
-Anfrage einen Body enthält, muss der Antwort-Body ignoriert werden.
Jegliche Repräsentations-Header, die den fehlerhaften Body beschreiben, werden als Beschreibung des Antwort-Bodys angenommen, den eine GET
-Anfrage erhalten hätte.
Anfrage hat einen Body | Nein |
---|---|
Erfolgreiche Antwort hat einen Body | Nein |
Safe | Ja |
Idempotent | Ja |
Cacheable | Ja |
Erlaubt in HTML-Formularen | Nein |
Syntax
HEAD <request-target>["?"<query>] HTTP/1.1
<request-target>
-
Identifiziert die Zielressource der Anfrage, wenn sie mit den im
Host
-Header bereitgestellten Informationen kombiniert wird. Dies ist ein absoluter Pfad (z.B./path/to/file.html
) in Anfragen an einen Ursprungsserver und eine absolute URL in Anfragen an Proxys (z.B.http://www.example.com/path/to/file.html
). <query>
Optional-
Eine optionale Abfragekomponente, die einem Fragezeichen
?
vorangestellt ist. Wird häufig verwendet, um identifizierende Informationen in Form vonkey=value
-Paaren zu übermitteln.
Beispiele
Erfolgreiches Abrufen von Ressourcenmetadaten
Der folgende curl
-Befehl erstellt eine HEAD
-Anfrage für example.com
:
curl --head example.com
Dies entspricht einer GET
-Anfrage, außer dass der Server keinen Nachrichtenkörper in die Antwort einfügen sollte.
Es erzeugt eine HTTP-Anfrage, die folgendermaßen aussieht:
HEAD / HTTP/1.1
Host: example.com
User-Agent: curl/8.6.0
Accept: */*
Der Server sendet eine 200 OK
-Antwort zurück, die nur aus Headern besteht.
Die Antwort ist im Wesentlichen Metadaten, die die Ressource beschreiben, anstatt die Ressource selbst (einige Cache-Header sind in diesem Beispiel zur Kürze ausgelassen):
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Wed, 04 Sep 2024 10:33:11 GMT
Content-Length: 1234567
Spezifikationen
Specification |
---|
HTTP Semantics # HEAD |
Browser-Kompatibilität
BCD tables only load in the browser