3

多数のJS、Imagesファイルを参照しているWebページがあります。ページが2回目に読み込まれると、304リクエストがサーバーに送信されます。304ではなくキャッシュされたオブジェクトのhttp200(キャッシュ)ステータスを取得したいと思います。

私はasp.net4、iis7を使用しています。

Expiryヘッダーの設定は機能していませんが、304リクエストを送信します。httpステータス200(キャッシュ)が欲しい。

そのためのテクニックがあれば教えてください。

4

1 に答える 1

2

有効期限を設定しても効果はないとおっしゃいましたが、適切なヘッダーを設定すれば効果があります。

これが良い例です: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-ageExpiresヘッダーには1年の有効期限も指定されています。今。同じ完全修飾ライブラリへのその後のアクセス(1年以内)はIf-Modified-Since、キャッシュされたコピーが新しいことをブラウザが認識しているため、サーバーへの要求にさえなりません。

RFC2616のHTTP1.1でのキャッシュに関するこの説明は、役立つはずです。

于 2012-06-10T12:01:16.500 に答える