Ein Query-String macht eine Antwort nach modernen HTTP-Regeln nicht uncachebar. Eine öffentliche Ressource wie /catalog?page=2 kann ihre beabsichtigte Aktualität direkt angeben:

Cache-Control: public, max-age=60

Das ist eine beispielhafte Richtlinie für öffentliche Inhalte. Die Antwort muss weiterhin die übrigen Cacheability-Anforderungen erfüllen. Personalisierte Ergebnisse sollten nicht allein deshalb gemeinsames Caching erhalten, weil ein Proxy-Betreiber eine bessere Trefferquote wünscht.

Die Query bleibt Teil der Ziel-URI, die im Cache-Schlüssel verwendet wird. Seite 2 und Seite 3 sind unterschiedliche Anfragen. Das Entfernen der Query, damit ihre URLs gleich aussehen, kann das eine Ergebnis für das andere ausliefern; die Ergebnisse werden dadurch nicht gleichwertig.

HTTPs ältere Einschränkung der heuristischen Frische für Query-URLs wurde entfernt, nachdem sie sich als schlecht umgesetzt erwies. Explizite Frische vermeidet die Abhängigkeit von einer Cache-Schätzung, während lokale Proxy-Regeln bestimmte URLs weiterhin ausschließen können.

Gewöhnlicher HTTPS-CONNECT-Verkehr lässt die Ressource und ihre Cache-Richtlinie innerhalb von TLS. Der tunnelnde Forward-Proxy erhält für diese Seiten keinen Objektcache, nur weil die URL eine Query verwendet.

Ähnliche Artikel