Hilfe:Cache

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Hilfe > Technik > Cache

Wikipedia-Seiten werden an mehreren Stellen in sogenannten „Caches“ zwischengespeichert, um die Server zu entlasten. Ein solcher Speicher, der Browser-Cache, befindet sich auch auf dem Rechner jedes Benutzers und nimmt automatisch jede besuchte Seite auf, so dass diese bei Wiederaufruf nicht neu geladen werden muss. Ein weiterer Zwischenspeicher ist der Kennisnet-Cluster in Amsterdam, eine Reihe von Servern, die zwischen Wikipedia-Server und Benutzer geschaltet sind und prinzipiell ähnlich arbeiten, aber die Seiten für tausende Besucher bereithalten.

Leider kommt es durch diese Zwischenspeicherung manchmal zu Problemen, so dass der Benutzer noch immer eine alte Fassung eines Artikels sieht, obwohl er in der Datenbank längst aktualisiert wurde.

Diese Seite beschreibt, wie man mit derartigen Fehlern umgeht, und erreicht, dass der Browser-Cache geleert und dadurch eine aufgerufene Seite neu vom Server heruntergeladen wird, ebenso wie, dass der Server die aktuelle Version ausliefert.

Browsercache „leeren“/aktualisieren[Bearbeiten]

Zum Aktualisieren (Neu-Laden) einer Webseite (inklusive aller für eine Webseite im Cache befindlichen Komponenten) verfügen die verschiedenen Webbrowser über unterschiedliche Tastaturbefehle:

Mozilla Firefox Unter Microsoft Windows:
Strg+F5 oder Strg+Umschalt+R[Anm. 1]

Unter Mac OS X:
+R (Seite neu laden) oder +Umschalt+R (Seite neu laden und Cache überschreiben)

Internet Explorer Strg+F5[Anm. 2]
Opera Strg+R oder F5
Safari Unter Mac OS X:
++E (Browsercache „leeren“) bzw. +R (aktualisieren)

Unter Microsoft Windows:
Strg+R

Konqueror Strg+R
Google Chrome Strg+F5 oder Umschalt+F5 oder F5
Camino Strg+R

Weiterführende Links

  1. Mozilla Hilfe und Support: Firefox – Wie Sie den Cache leeren können, Tastaturkürzel, auf mozillaZine: Auswirkungen der Cache-Einstellungen (engl.)
  2. Microsoft Hilfe und Support: Internet Explorer – Tastenkombinationen, Einfluss der Cache-Einstellungen auf das Browsen

Die vorstehend benannten Methoden betreffen in ihrer Grundversion das in der URL angezeigte HTML-Dokument, in der angegebenen erweiterten Fassung zusammen mit Strg die momentane Seite mit allen eingebundenen Ressourcen (vor allem Bilder, Skripte, Stile) unter deren URL.

Wenn Ressourcen nicht (mehr) unter ihrer URL in diese Seite eingebunden sind, bleibt das wirkungslos. Eine schärfere Methode ist es, den gesamten Browser-Cache von der Festplatte zu löschen; siehe dazu WP:JS.

Angemeldete Benutzer haben die Wahl, ob sie eine Seite aus dem Cache ihres Browsers laden wollen, sofern dies sinnvoll ist (Standard), oder immer neu vom Wiki-Server abrufen wollen: Benutzer-Einstellung (Registerkarte „Aussehen“) <tog-nocache> ankreuzen.

Von Benutzern ohne „Spezialwerkzeuge“ nicht zu beheben sind Probleme, wenn durch Firmennetzwerke oder Telekommunikationsdienstleister zwischengeschaltete Proxy-Server immer wieder nur veraltete Kopien herausgeben, obwohl sie eigentlich zur Aktualisierung aufgefordert wurden. Hier hilft allerdings das Arbeiten über HTTPS, da die Inhalte dieser verschlüsselten Kommunikation nicht zwischengespeichert werden können; siehe dazu Hilfe:Verschlüsselte Verbindung.

Serverseitigen Cache leeren[Bearbeiten]

Bleibt das Leeren des Browsercaches erfolglos, kann den Servern in Amsterdam mitgeteilt werden, dass sie eine Seite aus ihrem Datenbestand entfernen und neu von den eigentlichen Wikipedia-Servern beziehen sollen. Dieses „Bereinigen“ (engl. purge) zeigt im Normalfall sofort Wirkung, in seltenen Fällen kann es jedoch auch einige Minuten dauern.

Bei Artikeln[Bearbeiten]

Beispiel: Servercache mit „Seite bearbeiten“ leeren
Nicht angemeldete Benutzer müssen das Leeren des Servercaches erst bestätigen

Die Aufforderung wird über ein angehängtes ?action=purge in der Adresszeile des Browsers übermittelt, hierzu

  1. Lade den Artikel wie üblich.
  2. Klicke in die Adresszeile deines Webbrowsers, füge am Ende der Adresse den Befehl ?action=purge ein, also zum Beispiel //de.wikipedia.org/wiki/Wikipedia:Hauptseite?action=purge
    Alternativ kannst du auch auf „Seite bearbeiten“ klicken und action=edit durch action=purge ersetzen.
  3. Rufe diese Adresse auf, indem du Enter drückst.
  4. Wenn du unangemeldet arbeitest, musst du nun noch durch einen Klick auf „Ok“ bestätigen, bei angemeldeten Benutzern ist dies nicht notwendig.

Oft wird auch ein sogenannter „Nulledit“ empfohlen, der prinzipiell dieselben Auswirkungen hat. Wird eine Seite abgespeichert, ohne dass sich der Quelltext von der aktuellen Version unterscheidet, so wird keine Bearbeitung vorgenommen – es wird keine neue Version erzeugt. Die Seite ist jedoch als touched markiert und wird neu aufgebaut (siehe technische Informationen). Bei einem Purge mit der URL-Methode können jedoch keine Bearbeitungskonflikte oder ähnliche negative Auswirkungen auftreten.

Bei Bildern und Videos[Bearbeiten]

Wird der Purge-Befehl auf eine Dateibeschreibungsseite angewandt, so kann die MediaWiki-Software gezwungen werden, alle Vorschaubilder (thumbnail) des betreffenden Bildes/Videos erneut zu generieren. Bei Bildern/Videos, die direkt von den Wikimedia Commons eingebunden werden, ist ein Bereinigen (engl. purge) auf der dortigen Dateibeschreibungsseite erforderlich.

Wenn ein Vorschaubild nicht erfolgreich generiert wurde, nachdem auf die Originaldatei der Purge-Befehl angewandt wurde, so hat der Server wahrscheinlich eine Fehlerseite mit der Adresse des Vorschaubildes gespeichert, jedoch wurde die Seite nicht aus dem Cache gelöscht, weil das zugehörige Vorschaubild nicht existiert.

Die Lösung ist, das Vorschaubild mit einer ungewöhnlichen Adresse aufzurufen, beispielsweise durch Anhängen der Zeichenfolge ?1 am Ende der Adresse. Im Firefox also beispielsweise so: Rechtsklick auf das Vorschaubild → Grafik anzeigen → in der Adressleiste am Ende ?1 hinzufügen und Enter drücken. Das Vorschaubild sollte dadurch erfolgreich generiert werden. Abschließend führe den Purge-Befehl auf die Dateibeschreibungsseite erneut aus, um die gespeicherte Fehlerseite aus dem Cache des Servers zu entfernen. Sollte all dies bisher nicht geholfen haben, so ist anstatt des Zusatzes ?1 der Anhang des Purge-Befehls notwendig: Dateiname.jpg?action=purge – dies führt zur gewünschten Aktualisierung der jeweiligen Vorschau.

Anm.: Bei SVG-Grafiken kann ein anderes Problem auftreten, warum die Vorschau nicht angezeigt wird: Die Vektorgrafik enthält ein eingebettetes Pixelbild (png, gif, …). Zu Details siehe Warum wird meine SVG nicht angezeigt?

Wenn eine neue Version eines eingebundenen Bildes andere Dimensionen hat, ist oft im Artikel ein Nulledit (ohne Veränderung) notwendig, um das Bild nicht verzerrt angezeigt zu bekommen.

Eine relativ wirksame Möglichkeit, wenn das Purge auf die Dateibeschreibungsseite nicht erfolgreich war, ist bei SVG die Anwendung auf die Mediendatei:

  • //de.wikipedia.org/w/index.php?title=Media:*****.svg&action=purge
  • //commons.wikimedia.org/w/index.php?title=Media:*****.svg&action=purge

Falls die Datei nach dem Purge immer noch nicht angezeigt wird, sollte man den Browsercache überprüfen.

Nulledit[Bearbeiten]

Mit „Nulledit“ werden zwei unterschiedliche Aktivitäten bezeichnet:

  1. Bearbeitung, durch die nichts am Wikitext verändert wird.
    • Ein Nulledit aktualisiert die über Vorlagen gesetzten Links und Kategorien, sodass diese auch auf Kategorienseiten und Spezial:Linkliste erscheinen; außerdem die Werte bestimmter Vorlagen für veränderliche Daten sowie Bildgrößen.
    • Durch Klicken auf „Bearbeiten“ oder „Seite bearbeiten“ speichert man den Artikel genau wie vorgefunden; dadurch wird keine neue Version der Seite angelegt.
  2. Zuweilen wird der Begriff auch für eine Textänderung benutzt, bei der nichts sichtbar verändert wird; etwa das Einsetzen eines Leerzeichens am Ende eines Absatzes. Das Abspeichern einer Textversion ohne jegliche Änderung ist nicht möglich, damit die Software einen Unterschied zur vorigen Version erkennt. Das hat aber dieselbe Auswirkung wie der Purge-Befehl, ein Leeren des Server-Caches. Deshalb sollte man derartige unsichtbaren Bearbeitungen unterlassen, da diese in der Versionsgeschichte und auf den Beobachtungslisten der anderen Benutzer erscheinen.

Weitere technische Informationen[Bearbeiten]

Einbindung per Vorlage[Bearbeiten]

Auf Seiten mit eingebundenen Inhalten, die sich häufig ändern, kann die Vorlage {{Purge}} eingebunden werden. Damit wird ein Link erzeugt, der den Server-Cache leert.

Funktionsweise der Cache-Bereinigung (englisch purge)[Bearbeiten]

Wenn eine Bearbeitung einer Wiki-Seite erfolgt, speichert die MediaWiki-Software die Änderung in der Datenbank. Wenn ein nicht-angemeldeter Benutzer die Seite aufruft, wird eine Kopie der Seite in den Servercache eines der sekundären Server geladen. Bis die Seite erneut geändert wird, wird allen nicht angemeldeten Benutzern diese Kopie aus dem Server-Cache des sekundären Servers angezeigt. Dadurch belasten Benutzer, die sich Seiten anzeigen lassen, sie aber nicht bearbeiten, die Datenbank des Servers nicht und sehen dennoch die aktuelle Version einer Seite.

Normalerweise wird eine Seite, die bearbeitet wurde, als „verändert“ (touched) markiert und die Software generiert eine neue Kopie der Seite für den Cache des Servers. Wird jedoch eine Bearbeitung an einer Unterseite oder einer Vorlage durchgeführt, aber nicht an dem aufgerufenen Artikel, der die veränderte Unterseite oder Vorlage einbindet, so wird der Artikel nicht als „verändert“ markiert und es wird keine neue Kopie für den Cache des Servers generiert. Daher wird jedem, der den Artikel aufruft, eine alte Version aus dem Cache des Servers angezeigt, der die alten Versionen der Unterseite oder Vorlage enthält.

Der Purge-Befehl zwingt den Server, seinen Cache zu reinigen, indem er die ihm genannte Seite aus seinem Cache löscht. Beim nächsten Seitenaufruf wird die Seite entsprechend von Grund auf neu aufgebaut („gerendert“). Dies umfasst auch die Einbindung der neuesten Versionen aller eingebundenen Unterseiten und Vorlagen. Anschließend wird eine neue Kopie der angefragten Seite für den Cache des Servers erstellt. Dies kann einige Minuten dauern.

Wirkung auf andere Seiten[Bearbeiten]

Über das API-Modul purge gibt es noch weitere Möglichkeiten:

  • Mit dem zusätzlichen Parameter &forcelinkupdate= werden auch die Hilfstabellen, wie Linkliste oder Kategorieanzeige aktualisiert; das entspricht dem Nulledit.
  • &forcerecursivelinkupdate= führt auch eine Aktualisierung der Hilfstabellen aller Seiten durch, die diese Seite einbinden (mithilfe der JobQueue). Dies belastet die Server stärker und sollte sparsam eingesetzt werden.

Siehe auch[Bearbeiten]