last-modified

Das last-modified Datenfeld ist ein optionaler Teil des HTTP-Headers, der bei der Kommunikation zwischen Servern und Clients zum Tragen kommt – speziell bei dynamisch generierten Websites. Das Headerfeld last-modified wird bei einer entsprechenden Anfrage eines Clients in die Antwort des Servers geschrieben und beinhaltet einen Zeitstempel im GMT-Zeitformat (Greenwich Mean Time). Das Headerfeld last-modified teilt dem Client (zum Beispiel ein Browser oder Crawler) mit, wann das angeforderte Dokument das letzte Mal verändert wurde. Wenn es nicht verändert wurde, kann der Browser eine gecachte Version des Dokuments laden. Das Headerfeld last-modified wird auch zusammen dem Feld if-modified-since verwendet. Der Crawler teilt mit dem if-modified-since Request-Header dem Server mit, dass dieser das Dokument nicht ausliefern muss. Dies dient zum Beispiel der Reduzierung der Serverbelastung und dem effizienten Einsatz von Ressourcen bei Suchmaschinen-Crawlern.

Allgemeine Informationen zum Thema

Als Datenfeld im Rahmen des HTTP-Protokolls erlaubt last-modified eine Steuerung des Caching-Verhaltens. Das HTTP Caching soll das Verhalten von Clients und Servern bei der Kommunikation beeinflussbar machen. Wenn Websites beispielsweise durch einen Browser bereits abgerufen wurden und der Content sich nicht verändert, ist es nicht notwendig, dass der Browser bei einem erneuten Aufruf durch den Nutzer die Inhalte nochmals lädt. Dadurch werden die Zugriffszeiten, die Serverauslastung und auch die Ladezeit der Website optimiert.[1]

Eine wichtige Rolle spielt die Angabe last-modified vor allem bei dynamisch erzeugten Inhalten. Da diese Inhalte sich oft ändern, ist es sinnvoll, einen Zeitstempel für solche Inhalte zu vergeben. Als sogenannter Entity-Header beschreibt das Headerfeld last-modified den Body des Dokumentes – und zwar insofern als das Datum der letzten Änderung des Inhalts angegeben wird.[2]

Funktionsweise

Das Headerfeld last-modified folgt der Syntax der Spezifikation des HTTP-Protokolls und ist wie andere Headerfelder in Schlüssel-Wert-Paaren geordnet.[3]

 Last-Modified  = "Last-Modified" ":" HTTP-date

In der Praxis sieht das Datenfeld folgendermaßen aus:

Last-Modified: Wed, 15 Nov 2000 13:11:22 GMT

Diese Zeile ist einsehbar, wenn die Kopfdaten eines Dokumentes per HTTP-Request angefragt werden. Die meisten Server unterstützen das Headerfeld. Der dort notierte Wert kann anschließend dazu verwendet werden, das Caching zu steuern. Dies ist bei verschiedenen Szenarien sinnvoll: Wenn sich Inhalte einer Website nicht ändern, kann der Client die Inhalte aus dem Cache laden. Falls sie sich ändern, muss der Client diese abrufen.

Bei Foren, Gästebüchern und dynamisch erzeugten Produktseiten, aber auch bei Skripten, die automatisch Bilder laden, wird der last-modified Header dazu verwendet, den Traffic zu steuern.[4] Denn der Client spart sich auf diese Weise zusätzliche Verbindungen zum Server und der Server wird weniger belastet. Die Angabe des Zeitstempels kann zudem bei weiteren Abfragen eingesetzt werden. Zum Beispiel bei if-modified-since. Dabei muss das Format sich an der Datums-und-Zeit-Spezifikation des IETF orientieren und bei weiteren Verwendungen natürlich beibehalten werden.[5]

Bedeutung für die Suchmaschinenoptimierung

Das Headerfeld last-modified wird gemeinsam mit if-modified-since verwendet, um Suchmaschinen-Crawlern mitzuteilen, dass sie eine Website nicht abrufen müssen. Dadurch wird die Serverauslastung minimiert und die Ressourcen, die der Googlebot einsetzt, werden geschont. Last-modified kann aber auch für andere Zwecke zum Einsatz kommen. In erster Linie geht es hier um die Performance: Wenn ein Browser eine Website nicht laden muss, weil sie einen entsprechenden Zeitstempel aufweist, kann er diese Seite aus dem Zwischenspeicher laden. Die Ladezeit dürfte wesentlich kürzer sein als bei herkömmlichen Anfragen durch den Client. Für Nutzer, die bestimmte Inhalte aufrufen, kann ein Zeitstempel zudem eine relevante Information sein. Das ist beispielsweise der Fall, wenn es für sie interessant ist, wann die Inhalte veröffentlicht beziehungsweise das letzte Mal verändert wurden.

Einzelnachweise

  1. HTTP Caching FAQ developer.mozilla.org. Abgerufen am 02.12.2015
  2. HTTP: Entity-Header a-coding-project.de. Abgerufen am 02.12.2015
  3. Last-Modified w3.org. Abgerufen am 02.12.2015
  4. last modified header, Sinn und Zweck developers-guide.net. Abgerufen am 02.12.2015
  5. Date and Time Specification tools.ietf.org. Abgerufen am 02.12.2015

Weblinks