1

Expires過去の日付とに設定しましたCache-Controlが、no-store, no-cacheWebページの1つがキャッシュされます。

ブラウザに送信されるHTTPヘッダーは次のとおりです。

Date: Tue, 02 Nov 2010 09:13:23 GMT
Server: Apache/2.2.15 (el)
X-Powered-By: PHP/5.2.13
Set-Cookie: PHPSESSID=2luvb7b316lfc8ht570s1l1v84; path=/
Set-Cookie: Newsletter_Counter=17; expires=Wed, 02-Nov-2011 09:13:23 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 20
Connection: close
Content-Type: text/html; charset=UTF-8

FF 3.6、Safari、IE8でも同じ動作です。

ブラウザにページのキャッシュを停止させるにはどうすればよいですか?

4

4 に答える 4

1

次のヘッダーは、私にとって常にうまく機能しています (HTTP/1.1 の場合)。Pragma: no-cache は必要ありません。

Cache-Control: no-cache
Expires: <some date in the past>
Vary: *

Vary の値を私の例のアスタリスクに変更してみてください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44によると、「「*」の Vary フィールド値は、キャッシュが後続のリクエストのリクエスト ヘッダーから、これ応答が適切な表現です。」

于 2010-11-03T01:45:13.820 に答える
1

ブラウザはキャッシュを自分で決定します。ランダムな GET パラメータを使用して、ブラウザーにキャッシュしないように強制できます。

http://www.foo.com/yourfile.zip?id=1234
于 2010-11-02T10:51:31.223 に答える
0

を使用Cache-Control: no-storeすると、ストレージが禁止されます。

no-store
[…]応答で送信された場合、キャッシュはこの応答またはそれを誘発した要求のいずれの部分も保存してはなりません(MUSTNOT)。このディレクティブは、非共有キャッシュと共有キャッシュの両方に適用されます。[…]

于 2010-11-24T14:43:45.280 に答える
-1

あなたは確かに正しいことをしているようです (しかし、多くの人が「Pragma: no-cache」応答ヘッダーを送信すると、ブラウザー側のキャッシュに何らかの影響があると想定しているようです-そうすべきではありません)。

キャッシュされるとはどういう意味ですか? ユーザーが「戻るボタン」をクリックし、GET 操作を使用して取得された場合、(通常) サーバーから再度フェッチされることはありません。

于 2010-11-02T12:43:07.650 に答える