Was bedeutet der HTTP-Header Pragma: Public?

76

Was bedeutet der HTTP-Header Pragma: Public?

user185631
quelle
3
Es könnte nützlich sein, den Kontext zu kennen.
Skurmedel

Antworten:

42

Nach dem Standard ist Pragma implementierungsabhängig (Abschnitt 14.32), mit Ausnahme von No-Cache aufgrund seiner weit verbreiteten Verwendung. Die Cache-Steuerung (Abschnitt 14.9) ist der richtige Weg, um das Caching zu steuern. Dies ist, was der Standard für a sagt Cache-Control: public:

Gibt an, dass die Antwort möglicherweise von einem beliebigen Cache zwischengespeichert wird, auch wenn sie normalerweise nicht zwischengespeichert werden kann oder nur innerhalb eines nicht gemeinsam genutzten Caches zwischengespeichert werden kann.

Gonzalo
quelle
2
Vielen Dank, aber es gibt viele Fälle, in denen Personen codieren, sodass ein Header gesendet wird, der nur Pragma: Public enthält. Was bedeutet das für einen großen Browser?
user185631
3
Das gleiche wie "Cache-Control: public", dh, dass sie die Informationen in dieser Antwort zwischenspeichern können.
Gonzalo
2
Es bedeutet, dass Codierer aufhören sollten, es zu verwenden, weil es wahrscheinlich keinen Zweck
Anthony
10

Außerdem wird "Pragma: Öffentlich" in Google App Engine-Anwendungen verwendet, um das Zwischenspeichern von Antworten in seinem Edge-Cache zu ermöglichen.

Siehe Details auf der Google App Engine-Caching - Proxy?

Andy Dennie
quelle
8

Nützlich, wenn Sie auf diesen Fehler stoßen: http://trac.edgewall.org/ticket/1020 . IE 8 und weniger scheinen Dinge gerne zwischenzuspeichern, wenn sie sich auf einem SSL-Server befinden. Das Setzen von 'Pragma: public' hilft bei: "Internet Explorer konnte diese Internetseite nicht öffnen. Die angeforderte Site ist entweder nicht verfügbar oder kann nicht gefunden werden. Bitte versuchen Sie es später erneut."

thecodepharmacy
quelle