私はこのヘッダーに混乱がCache-Control:must-revalidate
あり、キャッシュされたアイテムを提供する前にソースですべてのリクエストを検証する義務があることを読みましたが、古いものだけですか?またはすべてが古くなっていても新鮮でも関係ありませんか?私は別の場所で両方のことを読みました。
との違いは何Cache-Control:no-cache
ですか?これらのヘッダーは私と同じように見えるからです。
更新1:私は本からこれを読みました:
Cache-Control: must-revalidate
応答ヘッダーは、鮮度計算メカニズムをバイパスし、すべてのアクセスで再検証するようにキャッシュに指示します。
@Peter O.は、RFCの内容を指摘しています。その古い本は間違っています。
更新2:このチュートリアルの内容:http ://www.mnot.net/cache_docs/
no-cache
—キャッシュされたコピーを解放する前に、キャッシュが検証のためにオリジンサーバーにリクエストを送信するように強制します。これは、認証が(パブリックと組み合わせて)尊重されることを保証するため、またはキャッシングのすべての利点を犠牲にすることなく、厳格な鮮度を維持するために役立ちます。
must-revalidate
—表現について提供する鮮度情報に従わなければならないことをキャッシュに通知します。HTTPを使用すると、キャッシュは特別な条件下で古い表現を提供できます。このヘッダーを指定することで、ルールに厳密に従うようにキャッシュに指示します。