HTTP Caching ist eine Technik im Hypertext Transfer Protocol (HTTP), um Ressourcen (Dokumente, Bilder, Dateien allgemein) anhand bestimmter Kriterien in einem Cache zwischenzuspeichern, um unnötige Datenübertragungen, Serveranfragen zu vermeiden und Zugriffszeiten zu verringern. Da gleichzeitig sichergestellt werden muss, dass die übertragenen Inhalte nicht veraltet sind, ist es nötig, die Zwischenspeicherung von Internetseiten oder anderen Ressourcen genau steuern zu können. Im HTTP-Standard sind dafür eine Reihe von Tags definiert, die das Caching auf Proxy- und Clientebene (Browser-Cache) unterstützen.
Methoden für die Cachekontrolle Bearbeiten
Für HTTP sind drei grundlegende Mechanismen definiert, um Caches zu kontrollieren: ‚Frische‘, ‚Gültigkeit‘ und ‚Entwertung‘ (englisch freshness, validation, invalidation).
Seit HTTP 1.1 gibt es die Möglichkeit im Header den HTTP ETag zu übergeben. Er kennzeichnet eine bestimmte Version einer Ressource.
Literatur Bearbeiten
- Chris Shiflett: HTTP developer's handbook. Sams Publishing, Indianapolis IN 2003, ISBN 0-672-32454-7, S. 157 ff.
Weblinks Bearbeiten
- R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee: RFC – Hypertext Transfer Protocol – HTTP/1.1. Juni 1999 (englisch).
- Beschreibung der Header-Felder
Age
,Cache-Control
,Date
,ETag
,Expires
,If-Match
,If-Modified-Since
,If-None-Match
,If-Range
,If-Unmodified-Since
,Pragma
,Vary
. - Caching.
- Beschreibung der Header-Felder
- (Memento vom 27. April 2015 im Internet Archive) phpgangsta.de (deutsch).
- (Memento vom 23. September 2013 im Internet Archive) wiggyleaks.de (deutsch).
- (Memento vom 8. September 2015 im Internet Archive) webstandard.kulando.de (deutsch).
- (Memento vom 8. September 2015 im Internet Archive) webstandard.kulando.de (deutsch).
- (Memento vom 8. September 2015 im Internet Archive) webstandard.kulando.de (deutsch).
Einzelnachweise Bearbeiten
- Protocols Standards. In: web-cache.com. Abgerufen am 24. Juli 2017.
- RFC Abschnitt 14.6: Age. (englisch).
- RFC Abschnitt 14.9: Cache-Control. (englisch).
- RFC Abschnitt 14.18: Date. (englisch).
- RFC Abschnitt 14.19: ETag. (englisch).
- RFC Abschnitt 14.21: Expires. (englisch).
- RFC Abschnitt 14.24: If-Match. (englisch).
- RFC Abschnitt 14.25: If-Modified-Since. (englisch).
- RFC Abschnitt 14.26: If-None-Match. (englisch).
- RFC Abschnitt 14.27: If-Range. (englisch).
- RFC Abschnitt 14.28: If-Unmodified-Since. (englisch).
- RFC Abschnitt 14.32: Pragma. (englisch).
- RFC Abschnitt 14.44: Vary. (englisch).
- RFC Abschnitt 13: Caching. (englisch).