Last-Modified ist ein HTTP-Header, der den Zeitpunkt der letzten Änderung einer Ressource angibt. Er dient als schwacher Validator: Der Browser speichert den Zeitstempel und sendet ihn bei späteren Anfragen im Header If-Modified-Since zurück.
Schwächer als der ETag
Hat sich die Ressource seit dem gesendeten Datum nicht geändert, antwortet der Server mit 304 Not Modified ohne Body. Die Auflösung beträgt nur eine Sekunde — wird eine Datei zweimal innerhalb derselben Sekunde geändert, kann ein Client eine veraltete Version behalten. Daher gilt Last-Modified als schwächer als ein ETag, der jede Änderung am Inhalt erkennt.
Format und Praxis
Der Wert ist ein HTTP-Datum in GMT, z.B. Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT. Das Format ist in RFC 9110 festgelegt; lokalisierte Monatsnamen sind nicht konform. Die Gegenrichtung heißt If-Unmodified-Since und wird bei Schreiboperationen verwendet.
Viele Server senden beide Validatoren: Last-Modified als Basismechanismus und den ETag für die genauere Prüfung. Ergänzend legt Cache-Control fest, wie lange eine Antwort ohne Validierung verwendet werden darf.