diff options
Diffstat (limited to 'files/de/web/http/caching_faq/index.html')
-rw-r--r-- | files/de/web/http/caching_faq/index.html | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/files/de/web/http/caching_faq/index.html b/files/de/web/http/caching_faq/index.html new file mode 100644 index 0000000000..79aa913713 --- /dev/null +++ b/files/de/web/http/caching_faq/index.html @@ -0,0 +1,73 @@ +--- +title: HTTP Caching FAQ +slug: Web/HTTP/Caching_FAQ +tags: + - Cache + - HTTP + - Necko + - NeedsContent + - header +translation_of: Web/HTTP/Caching +--- +<h3 id="What_is_cached.3F" name="What_is_cached.3F">Was wird im Cache gespeichert?</h3> + +<p>Der Mozilla Cache beinhaltet alle Dokumente, die via <a href="/en/HTTP" title="en/HTTP">HTTP</a> vom Benutzer heruntergeladen wurden. Dies mag sich zunächst widersprüchlich anhören, dieses Verhalten ermöglicht jedoch das Vor- und Zurück-Navigieren, Speichern, sowie die Anzeige des Quelltextes etc. im Browser, ohne dabei zusätzliche Serveranfragen zu benötigen. Somit verbessert es auch die Offline-Nutzung von temporär gespeicherten Inhalten im Cache.</p> + +<h3 id="What_about_documents_sent_with_a_Cache-control:_no-cache_header.3F" name="What_about_documents_sent_with_a_Cache-control:_no-cache_header.3F">Was ist mit Dokumenten die mit "Cache-control: no-cache" in der Kopfzeile (Header) gesendet werden?</h3> + +<p>Auch "no-cache" Dokumente werden von uns aufgrund der oben genannten Gründe im Cache gespeichert.</p> + +<h3 id="But_don.27t_you_end_up_serving_stale_content.3F" name="But_don.27t_you_end_up_serving_stale_content.3F">Sorgt das nicht dafür, dass abgelaufene Inhalte bereitgestellt werden?</h3> + +<p>Nein, denn jedes Dokument, das im Mozilla Cache gespeichert wird, erhält eine Gültigkeitsdauer. Lädt Mozilla dieses Dokument für eine normale Ansicht, wird die Gültigkeit berücksichtigt. Wenn nötig, wird ein aus dem Cache zu ladendes Dokument mit dem Server abgeglichen und gegebenenfalls neu geladen, bevor es dem Benutzer angezeigt wird.</p> + +<h3 id="How_are_expiration_times_calculated_.28since_not_every_response_includes_an_Expires_header.29.3F" name="How_are_expiration_times_calculated_.28since_not_every_response_includes_an_Expires_header.29.3F">Wie wird die Gültigkeitsdauer berechnet (da nicht jede Serverantwort eine Gültigkeit in der Kopfzeile enthält)?</h3> + +<p>Mozilla strebt danach, <a class="external" href="http://tools.ietf.org/html/rfc2616" title="http://tools.ietf.org/html/rfc2616">RFC 2616</a> zu implementieren (siehe speziell Abschnitt 13 für nähere Informationen). Jede der folgenden Antwort-Kopfzeilen generiert eine stets abgelaufene Gültigkeitsdauer, z.B. "00:00:00 UTC, January 1, 1970":</p> + +<pre>Cache-control: no-cache +Cache-control: no-store +Pragma: no-cache +Expires: 0</pre> + +<p>Bemerkenswerter Weise sind die Werte <code>Expires: 0</code> und <code>Pragma: no-cache</code> technisch gesehen ungültige Werte in einer Antwort-Kopfzeile. Wenn keine dieser Angaben vorhanden ist, geschieht die Berechnung der Gültigkeitsdauer nach dem Algorithmus, welcher in <a class="external" href="http://tools.ietf.org/html/rfc2616" title="http://tools.ietf.org/html/rfc2616">RFC 2616</a>, Abschnitt 13.2. beschrieben wird. Wir ermitteln das gegenwärtige Alter der Antwort und seine Gültigkeit basierend auf den vorhandenen Informationen.</p> + +<p>Das gegenwärtige Alter entspricht für gewöhnlich fast Null, wird jedoch durch eine vorhandene <code>Age</code>-Angabe in der Antwort-Kopfzeile beeinflusst, die z.B. von Proxy Caches angeben wird um die Länge der Dauer anzugeben, die sich ein Dokument bereits in ihrem Cache befindet. Der exakte Algorithmus, der versucht, Fehler bei der Zeitverschiebung zu verhindern, wird in <a class="external" href="http://tools.ietf.org/html/rfc2616" title="http://tools.ietf.org/html/rfc2616">RFC 2616</a>, Abschnitt 13.2.3 beschrieben.</p> + +<p>Die Gültigkeit wird basierend auf mehreren Antwort-Kopfzeilen berechnet. Wenn die Kopfzeile <code>Cache-control: max-age=N</code> angegeben ist, entspricht die Gültigkeit des Dokumentes dem Wert N. Ist dieser Wert nicht vorhanden, was mitunter sehr oft der Fall ist, wird nach einer <code>Expires</code>-Angabe in der Kopfzeile gesucht. Existiert diese, ergibt sich die Gültigkeitsdauer aus dem darin enthaltenen Wert abzüglich des in <code>Date</code> enthaltenen Wertes. Sollte sich letztlich keine <code>Expires</code>-Angabe in den Antwort-Kopfzeilen befinden, wird nach einem <code>Last-Modified</code> Wert gesucht. Ist dieser Wert vorhanden, entspricht die Gültigkeitsdauer im Cache dem Wert <code>Date</code> abzüglich des Wertes <code>Last-Modified</code> geteilt durch 10. Dies ist die vereinfachte Darstellung des heuristischen Algorithmus, der in Abschnitt 13.2.4 des <a class="external" href="http://tools.ietf.org/html/rfc2616" title="http://tools.ietf.org/html/rfc2616">RFC 2616</a> vorgeschlagen wird. </p> + +<p>Die Gültigkeitsdauer berechnet sich somit folgendermaßen:</p> + +<pre>ablaufZeit = reaktionsZeit + neuheitsLebenszeit - aktuellesAlter</pre> + +<p>Wobei <code>reaktionsZeit</code> dem Zeitwert entspricht, zu dem der Browser die Antwort erhalten hat.</p> + +<h3 id="What_other_factors_influence_revalidation.3F" name="What_other_factors_influence_revalidation.3F">Gibt es weitere Faktoren, welche die Revalidation beinflussen?</h3> + +<p>Die Revalidation wird ausgelöst, sobald ein User die Seite neu lädt (z.B. mittels des Neu-Laden-Knopfes). Ebenso wird sie beim normalen browsen ausgelöst, wenn in den Antwort-Kopfzeilen <code>Cache-control: must-revalidate</code> enthalten ist. Ein weiterer Faktor sind die Einstellungen des Cache-Management im Bereich <code>Erweitert->Netzwerk</code> der Firefox-Einstellungen. Hier kann als Option gewählt werden, dass Dokumente bei jedem Laden neu validiert werden ("Nachfragen, wenn Websites Daten für die Verwendung im Offline-Modus speichern möchten").</p> + +<h3 id="How_does_cache_validation_work.3F" name="How_does_cache_validation_work.3F">Wie funktioniert die Cache-Valdiation?</h3> + +<p>Sobald die Gültigkeit eines Dokumentes im Cache abgelaufen ist, wird es entweder revalidiert oder gänzlich neu vom Server angefordert. Eine Validation kann nur dann angewendet werden, wenn der Server entweder eine <em>starke Valdiation</em> (strong validation) oder eine <em>schwache Valdiation</em> (weak validation) ermöglicht. Cache-Validatoren werden im Abschnitt 13.3.2 des <a class="external" href="http://tools.ietf.org/html/rfc2616" title="http://tools.ietf.org/html/rfc2616">RFC 2616</a> beschrieben.</p> + +<p>Der <code>ETag</code>-Wert in den Antwort-Kopfzeilen ist ein Wert, der nicht für den User Agent einsehbar ist (<em>opaque-to-the-useragent</em>) und als starker Validator genutzt werden kann (strong validator). Ist der <code>ETag</code>-Wert in den Antwort-Kopfzeilen vorhanden, kann der Browser einen <code>If-None-Match</code>-Wert in den Anfrage-Kopfzeilen ausgeben, um das Dokument im Cache zu validieren.</p> + +<p>Der <code>Last-Modified</code>-Wert in den Antwort-Kopfzeilen kann als schwacher Validator (weak validator) genutzt werden. Er wird als schwach eingestuft, da er nur eine 1-Sekunden-Lösung ermöglicht. Wenn der <code>Last-Modified</code>-Wert in den Antwort-Kopfzeilen enthalten ist, kann der Browser einen <code>If-Modified-Since</code>-Wert in den Anfrage-Kopfzeilen ausgeben, um das Dokument im Cache zu validieren.</p> + +<p>Sobald eine Validierungs-Anfrage gestellt wurde, kann der Server diese entweder ignorieren und mit einem normalen <code><a href="/en/HTTP/HTTP_response_codes#200" title="https://developer.mozilla.org/en/HTTP/HTTP_response_codes#200">200 OK</a></code>-Statuscode antworten, oder aber einen <code><a href="/en/HTTP/HTTP_response_codes#304" title="https://developer.mozilla.org/en/HTTP/HTTP_response_codes#304">304 Not Modified</a></code>-Statuscode zurückgeben um den Browser anzuweisen, die im Cache befindliche Kopie des Dokumentes zu verwenden. Letzere kann ebenfalls Werte in der Antwort-Kopfzeile enthalten, welche die Gültigkeit des Dokumentes im Cache aktualisieren.</p> + +<h3 id="What_about....3F" name="What_about....3F">Was ist mit...?</h3> + +<p>Ich beabsichtige, diese Dokumentation in Zukunft zu erweitern. Fühlen Sie sich frei, mir eine E-Mail mit Ihren Fragen oder Kommentaren zu schreiben.</p> + +<div class="originaldocinfo"> +<h2 id="Original_Document_Information" name="Original_Document_Information">Informationen zum Original-Dokument</h2> + +<ul> + <li>Autor(en): <a class="link-mailto" href="mailto:darin@meer.net">Darin Fisher</a></li> + <li>Zuletzt aktualisiert: 16. Juni 2004</li> + <li>Copyright Information: Teile des Inhaltes sind urheberrechtlich durch © 1998–2007 einzelne Mitwirkende von mozilla.org; Inhalt lizensiert under einer Creative Commons Lizenz | <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>.</li> +</ul> +</div> + +<p> </p> |