web-dev-qa-db-ja.com

Enterキーを押したときにChrome Cache-control:max-age = 0の送信を停止するにはどうすればよいですか?

私は わずかに不安定な接続 を使用しており、ローカルプロキシを使用してブラウジングエクスペリエンスを改善しようとしています。 my research によると、既存のURLでブラウザの「Enter」キーを押すと、プロキシにCache-Control: max-age=0ヘッダーが送信され、プロキシがコンテンツを再検証するためにサーバーに往復します。

私は特にこれを望んでいません。オブジェクトが古くなっている場合、キャッシュはそれを再フェッチしますが、古くなければ、オブジェクトが異常な時間ごとに再検証される理由がわかりません。ページが古いと思われる場合は、shift-F5を使用しています。使用することを恐れません。

Chromeの舞台裏のどこかに調整可能な変数がありますか?これはこの厄介な動作をオフにしますか?

30
womble

戻るボタンまたはリンクからページを参照すると、Chromeはmax-age = 0ヘッダーを送信せず、通常は(Apacheサーバーが反対側はキャッシング用に構成されています)、ページのキャッシュされたバージョンを使用します。

ただし、URL(例:www.example.com/abcd/index.html)をアドレスバーに直接入力して、 Return、Chromeは常にCache-Control: max-age=0ヘッダー。キャッシングを回避します。

24
Svenny

ヘッダーを変更することは可能ですChromeは、userscripts(ala greasemonkey)または拡張機能のいずれかを使用してWebサーバーに送信します。動作するはずの拡張機能を1つ示します。 ModHeader

概要とスクリーンショットによると、cache-control max-age=1000などのヘッダーの追加は比較的簡単です。また、ヘッダーが特定のWebサイトに送信されないようにするドメインホワイトリストもサポートしています。この作業では、chrome:// flagsで特定の実験を有効にする必要がある場合があります。

demo of adding headers

5
Jeremy W

ブラウザーは、受信した応答ヘッダーに基づいて動作します。ブラウザが次のような応答ヘッダーを受け取った場合

Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 UTC

その後、ブラウザは常にCache-Control: max-age=0。これは通常、変数BaseAuthenticatorがtrueの場合にdisableProxyCachingがこれらの応答ヘッダーを追加するTomcatコンテナーで発生します。同様の問題に直面している場合は、この link にアクセスして解決策を入手できます。

これがある程度役立つことを願っています:)

0
Sunil Dabburi

私は自分のウェブサイトでキャッシュをテストしようとしているので、「新しいユーザー」をシミュレートする必要がありますが、もちろんChrome send Max-Age: 0は、サーバーのキャッシュがバイパスされるため、サーバー側のキャッシュをテストできないことを意味します。

このユースケースで最も効果的に機能したのは、Fiddlerとの組み合わせです。

Chromeの設定(開発コンソールを開いたままにする必要があります)

enter image description here

フィドラー:

enter image description here

これはOPの問題には適していませんが、まったく同じ問題が原因で、ほとんどの人が現在この質問を見つけられないと思います。

0
Simon