RESTful Web Services - Caching

Caching bezieht sich auf das Speichern der Serverantwort im Client selbst, sodass ein Client nicht immer wieder eine Serveranforderung für dieselbe Ressource stellen muss. Eine Serverantwort sollte Informationen darüber enthalten, wie das Caching durchgeführt werden soll, damit ein Client die Antwort für einen bestimmten Zeitraum zwischenspeichert oder die Serverantwort niemals zwischenspeichert.

Im Folgenden sind die Header aufgeführt, die eine Serverantwort haben kann, um das Caching eines Clients zu konfigurieren.

Sr.Nr. Header & Beschreibung

1

Date

Datum und Uhrzeit der Ressource, als sie erstellt wurde.

2

Last Modified

Datum und Uhrzeit der Ressource, als sie zuletzt geändert wurde.

3

Cache-Control

Primärer Header zur Steuerung des Caching.

4

Expires

Ablaufdatum und -zeit des Caching.

5

Age

Dauer in Sekunden ab dem Zeitpunkt, an dem die Ressource vom Server abgerufen wurde.

Cache-Control-Header

Im Folgenden finden Sie die Details eines Cache-Control-Headers:

Sr.Nr. Richtlinie & Beschreibung

1

Public

Gibt an, dass die Ressource von jeder Komponente zwischengespeichert werden kann.

2

Private

Gibt an, dass die Ressource nur vom Client und vom Server zwischengespeichert werden kann. Kein Vermittler kann die Ressource zwischenspeichern.

3

no-cache/no-store

Gibt an, dass eine Ressource nicht zwischengespeichert werden kann.

4

max-age

Zeigt an, dass das Caching in Sekunden bis zum Höchstalter gültig ist. Danach muss der Client eine weitere Anfrage stellen.

5

must-revalidate

Anzeige an den Server zur erneuten Validierung der Ressource, wenn das maximale Alter überschritten wurde.

Empfohlene Vorgehensweise

  • Halten Sie statische Inhalte wie Bilder, CSS und JavaScript immer zwischenspeicherbar und haben ein Ablaufdatum von 2 bis 3 Tagen.

  • Halten Sie das Ablaufdatum niemals zu hoch.

  • Dynamische Inhalte sollten nur einige Stunden zwischengespeichert werden.