Grundlagen der Webtechnologien
Ein Browser fordert ein früher empfangenes Bild erneut an und setzt dabei den ETag-Wert aus der damaligen Antwort in den Header If-None-Match. Welche Antwort des Servers ist richtig, wenn sich das Bild auf dem Server nicht geändert hat?
- A200 OK, wobei der gesamte Body des Bildes erneut gesendet wird, auch wenn er derselbe ist wie beim letzten Mal
- B304 Not Modified ohne Body; der Browser verwendet das gespeicherte Bild
- C404 Not Found, damit der Browser das gespeicherte alte Bild löscht und neu abruft
Antwort und Erläuterung anzeigen
Antwort: B. 304 Not Modified ohne Body; der Browser verwendet das gespeicherte Bild
Ein ETag ist eine Kennung für eine bestimmte Version einer Ressource. Der Browser setzt den ETag in If-None-Match und sendet so eine bedingte Anfrage mit der Bedeutung „Bitte senden, falls sich seit dieser Version etwas geändert hat“; hat sich nichts geändert, gibt der Server 304 Not Modified ohne Body zurück. So genügt ein einziger Umlauf für die Prüfung, und die Bilddaten müssen nicht erneut übertragen werden. Hat sich das Bild geändert, gibt der Server 200 OK mit dem neuen Body und einem neuen ETag zurück. Innerhalb der mit max-age in Cache-Control festgelegten Frist verwendet der Browser die gespeicherte Kopie sogar ohne diese Prüfung.