HEAD ist die HTTP-Methode, die dieselbe Antwort wie GET anfordert, aber nur deren Kopfzeilen. Der Server schickt Statuscode und Header, lässt den eigentlichen Inhalt jedoch weg.
- HEAD
Die HTTP-Methode, mit der ein Client die Header einer Ressource abfragt, ohne deren Inhalt zu laden.
Beispiel: „Der Linkprüfer fragt jede Adresse per HEAD ab und lädt keine einzige Seite vollständig herunter.“Abgrenzung zu GET: Die Antwort auf HEAD muss dieselben Header tragen wie die auf GET, nur ohne Body.
Wofür HEAD gebraucht wird
Für alles, bei dem die Eckdaten einer Ressource genügen. Werkzeuge, die defekte Links suchen, prüfen per HEAD, ob eine Adresse noch antwortet. Download-Programme erfahren über die Header Content-Length und Last-Modified die Größe einer Datei und ihr Änderungsdatum, bevor sie sie laden.
Auch Caches nutzen HEAD, um zu sehen, ob sich eine Ressource geändert hat. Das spart Bandbreite, weil nur ein paar hundert Bytes über die Leitung gehen.
HEAD im Vergleich mit den anderen Methoden
Die Übersicht zeigt alle neun HTTP-Methoden. Sicher heißt, dass eine Methode nichts verändert; idempotent heißt, dass mehrfaches Senden dasselbe Ergebnis hat wie einfaches.
Methode | Wofür | Sicher | Idempotent |
|---|---|---|---|
Ressource abrufen, ohne etwas zu ändern | ja | ja | |
HEAD | wie GET, aber nur die Kopfzeilen | ja | ja |
Daten senden, meist etwas Neues anlegen | nein | nein | |
Ressource vollständig ersetzen | nein | ja | |
Ressource teilweise ändern | nein | nein | |
Ressource löschen | nein | ja | |
erlaubte Methoden erfragen | ja | ja | |
Tunnel über einen Proxy aufbauen | nein | nein | |
Anfrage zur Fehlersuche zurückspiegeln | ja | ja |
HEAD in der Praxis
Auf der Kommandozeile zeigt curl mit dem Schalter -I die Antwort auf eine HEAD-Anfrage. Das ist der schnellste Weg, Weiterleitungen, Statuscodes und Cache-Einstellungen einer Seite zu prüfen.
Manche Server beantworten HEAD falsch oder gar nicht. Liefert ein Linkprüfer verdächtig viele Fehler, lohnt eine Gegenprobe mit GET.