web-dev-qa-db-ja.com

「ドキュメントが期限切れです」というメッセージを防ぎ、期限切れのページのみを表示しますか?

フォームを送信して戻ると、最後のページの代わりに「ドキュメントの有効期限が切れました」というメッセージが表示されることがあります。

enter image description here

以前は、次の煩わしいメッセージボックスが表示されていました([再試行]をクリックすると表示されるようになりました)。

enter image description here

さて、私はdoがこれが何を意味し、Firefoxがこのメッセージを表示するのかを知っています。ただし、最後に表示したページだけを表示したいのですが、2番目前に表示されたのと同じです。ポップアップも、サーバーの新しい状態を反映するリロードもありません。 (たぶん、小さな情報バーはいいでしょうが、私には必要ありません)。

使用例:いつも使用しているサイトにログインし、Enterキーを押した後、ログインページのニュースヘッドラインが目の隅に表示されると想像してください。戻ってクリックし、見出しをクリックするために前に表示した正確なページを表示したいと思います。ログインしているフロントページを表示したり、リロードしたりすると、異なる(ランダム化された)見出しが表示されることがあります。

「ドキュメントの期限切れ」と「確認」メッセージを完全に削除し、POSTフォームを送信した後、Firefoxに最後にキャッシュされた場所を表示させるにはどうすればよいですか? about:config設定、拡張機能、プロキシトリックはすべて問題ありません。

13
jdm

これらのメッセージをすべて取り除くには、次のPHP行をすべてのスクリプトの先頭に追加します。

header( "Expires:Sat、01 Jan 2000 00:00:00 GMT"); header( "最終更新日:" .gmdate( "D、d M Y H:i:s")。 "GMT"); header( "Cache-Control:post-check = 0、pre-check = 0"、false); session_cache_limiter( "must-revalidate");

2
user349823

Firefoxエンジンは、ドキュメントの最後の状態をキャッシュしません(またはキャッシュすべきではありません)。サーバーがキャッシュを許可している場合は、HTMLドキュメント自体のみをキャッシュします。 Operaにはこの機能がありました(またはまだある可能性があります)が、Webサイトオペレーターに多くのセキュリティ上の問題を引き起こしています。

RFC 2616には次のように記載されています。

13.4応答のキャッシュ機能

特にcache-control(セクション14.9)ディレクティブによる制約がない限り、キャッシングシステムは常に成功した応答(セクション13.8を参照)をキャッシュエントリとして保存し、新しい場合は検証せずにそれを返し、検証が成功した後にそれを返す場合があります(MAY)。 。

最近の多くのサイトでは、サーバーで生成されたすべての応答にキャッシュ制御ヘッダーを使用して、キャッシュの問題を回避しています。 Firefoxで以前の状態のドキュメントを入手しても、ほとんどのサイトでは、機能しないか、機能しないはずです。最も安全で将来性のあるソリューションは、Webサイトの所有者にWebサイトを適切にコーディングするよう依頼することです。

2
Janos Pasztor

答えは https://support.mozilla.org/fr/questions/1010942 です。ツール->オプション->自動キャッシュ管理の上書きを確認してください。

2
Bret