多数のJS、Imagesファイルを参照しているWebページがあります。ページが2回目に読み込まれると、304リクエストがサーバーに送信されます。304ではなくキャッシュされたオブジェクトのhttp200(キャッシュ)ステータスを取得したいと思います。
私はasp.net4、iis7を使用しています。
Expiryヘッダーの設定は機能していませんが、304リクエストを送信します。httpステータス200(キャッシュ)が欲しい。
そのためのテクニックがあれば教えてください。
多数のJS、Imagesファイルを参照しているWebページがあります。ページが2回目に読み込まれると、304リクエストがサーバーに送信されます。304ではなくキャッシュされたオブジェクトのhttp200(キャッシュ)ステータスを取得したいと思います。
私はasp.net4、iis7を使用しています。
Expiryヘッダーの設定は機能していませんが、304リクエストを送信します。httpステータス200(キャッシュ)が欲しい。
そのためのテクニックがあれば教えてください。
有効期限を設定しても効果はないとおっしゃいましたが、適切なヘッダーを設定すれば効果があります。
これが良い例です:Googleのライブラリホスティング。ライブラリの完全修飾バージョンを要求した場合にGoogleが返す(関連する)ヘッダーは次のとおりです(たとえば、jQuery1ではなくjQuery1.7.2 、またはjQuery 1.7)。
日付:2012年6月7日木曜日14:43:04 GMT Cache-Control:public、max-age = 31536000 有効期限:2013年6月7日金曜日14:43:04 GMT
(Date
実際には関係ありません。上記のヘッダーがいつ生成されたかがわかるように含めるだけです。)ご覧のとおり、ここでは1年の有効期限Cache-Control
が明示的に設定されておりmax-age
、Expires
ヘッダーには1年の有効期限も指定されています。今。同じ完全修飾ライブラリへのその後のアクセス(1年以内)はIf-Modified-Since
、キャッシュされたコピーが新しいことをブラウザが認識しているため、サーバーへの要求にさえなりません。
RFC2616のHTTP1.1でのキャッシュに関するこの説明は、役立つはずです。