API:Caching data/de

Cache vom Client steuern
Das HTTP-Protokoll erlaubt es zu steuern, wie Browser und Internetproxys Inhalte im Cache speichern, durch verschiedene Werte, die im  Header angegeben sind. (Dies funktioniert nur bei GET-Anfragen.) Die API erlaubt dem Client, zwei dieser Werte zu setzen,  und , über API parameters   und.

sagt dem Browser, wie lange die Antwort im Cache behalten werden soll (in Sekunden). tut das Gleiche für geteilte Proxys. In der Praxis wird Letzteres für gewöhnlich dafür benutzt, den Reverse Proxy auf der Server-Seite anzuweisen (so wie bei Wikimedias ).

Fehler werden nie im Cache gespeichert. Benutzerspezifische Antworten werden als  markiert, sodass der Browser sie im Cache speichert, nicht aber öffentliche Proxys. Momentan benutzt die API standardmäßig die Spracheinstellung des eingeloggten Nutzers, also sind Antworten an eingeloggte Nutzer immer privat. Das kann vermieden werden durch Einsetzen der  API-Parameter (T97096).

Verbesserung der Cache-Trefferrate
Eine Anfrage wird nur vom Cache bedient, wenn die exakte URL im Cache gespeichert wurde. (Wenn man z.B. die gleiche Anfrage mit  stellt und dann mit , wird die zweite nicht den Cache-Eintrag der ersten benutzen können, weil der unterschiedliche Maxage-Prameter die URL verändert.) Wenn man eine Liste von Seiten als Parameter übergibt, kann man die Cache-Trefferrate verbessern, indem man sie sortiert und dedupliziert.

Cache von einem API-Modul aus steuern
Das Speichern im Cache wird durch die -Methoden bestimmt. Im Normalfall ist das Speichern im Cache nur relevant in den $query-Submodulen, die stattdessen die -Methode benutzen sollten, die sie von    erben.