2

W3.orgプロトコルによると

デフォルトでは、リクエストメソッド、リクエストヘッダーフィールド、およびレスポンスステータスの要件がキャッシュ可能であることを示している場合、レスポンスはキャッシュ可能です。

彼らが「応答」と言うとき、それはすべてが常にキャッシュしていることを意味しますか?したがって、Cache-Controlを使用すると、キャッシュがないため、ページのキャッシュが停止しますか?そして、それは将来的に悪影響を及ぼしますか?

4

2 に答える 2

2

一般に、古い(数秒でも!)ページが古くなる可能性がある場合は、キャッシュを防止する必要があります。ページのコンテンツの関連性が長ければ長いほど、キャッシュの効果は高くなります(そして、邪魔になることが少なくなります)。逆に、情報の保存期間が短いほど、キャッシュが実際に邪魔になり、人々が最新のコンテンツを取得できなくなる可能性が高くなります。

もちろん、キャッシングを禁止することのコストは、キャッシングのメリットが得られないことです。常に同じページを提供している場合でも、ページにヒットするたびにサーバーへのリクエストが生成されます。これは、サーバーの負荷が大幅に増加することを意味する可能性があり、大規模なサイト(またはリンクの多いWebサーバー)では望ましくないと思われます。したがって、「キャッシュするかしないか」という質問に答えるには、帯域幅とサーバーの機能(および潜在的にそれらを最大限に活用する意欲)と、絶対に最新のビットがあるという要件とのバランスをとる必要があります。そのような要件がない場合は、no-cacheやり過ぎかもしれません。

今後の効果は?唯一の本当の問題は、キャッシュされたすべてのコピーが期限切れになるまで、キャッシュがある程度発生していることです。それが起こったら、本当の問題はありません。後でキャッシュを再度有効にすることを妨げられることはありません。実際、再度有効にすると、プロキシは変更をすぐに確認し、次に誰かが要求したときにページのキャッシュを再開します。

于 2012-12-13T17:01:18.943 に答える
0

彼らが「応答」と言うとき、それはすべてが常にキャッシュしていることを意味しますか?

PaulD.Waiteのコメントを参照してください。

したがって、Cache-Controlを使用すると、キャッシュがないため、ページのキャッシュが停止しますか?

いいえ、ありません。

MarkNotinghamのキャッシングチュートリアルから

  • no-cache —キャッシュされたコピーを解放する前に、キャッシュが検証のためにオリジンサーバーにリクエストを送信するように強制します。これは、認証が(パブリックと組み合わせて)尊重されることを保証するため、またはキャッシングのすべての利点を犠牲にすることなく、厳格な鮮度を維持するために役立ちます。

リソースのキャッシュをまったく必要としない場合は、「no-store」を使用します。(同上)

  • no-store —どのような条件下でも表現のコピーを保持しないようにキャッシュに指示します。
于 2012-12-13T17:51:59.087 に答える