- PR -

HTMLコンテンツをキャッシュさせたい

投稿者投稿内容
みーむ
ベテラン
会議室デビュー日: 2003/10/13
投稿数: 56
投稿日時: 2003-11-21 17:58
お世話になっています。

http応答ヘッダを調べてみたところ、以上のように、
Cache-Control、Expiresの設定はできているように
思えるのですが、何か間違いがありますでしょうか?

HTTP/1.1 200 OK
Cache-Control: private
Expires: Fri, 21 Nov 2003 08:15:04 GMT
Content-Type: text/html;charset=UTF-8
Content-Length: 628
Date: Fri, 21 Nov 2003 08:14:34 GMT
Server: Apache Coyote/1.0
Proxy-Connection: Keep-Alive
Connection: Keep-Alive

どうも、私のテストの方法に問題があるのでしょうか?
ひとまず、ブラウザでキャッシュするように指定しているつもりですが、
アプリサーバにアクセスしてしまい、ブラウザキャッシュを参照しません。
現在は、Getメソッドでパラメータ付URLを直接ブラウザから入力して
テストしています。

引用:

Gordieさんの書き込み (2003-11-21 16:49) より:

Expiresでの設定はリロードされるとキャッシュを無視するので、プロキシサーバを介在しない場合にはあまり効果がありません。




このアドバイスの意味を以下のように理解したのですが、間違っているでしょうか?

リロード(つまり、戻るボタンやMETAのRefreshを使用した場合)、
リクエストはキャッシュを無視するため、Expiresでの設定は無効になる。
プロキシサーバでキャッシュされたコンテンツに対するテストなら問題ないが、
ブラウザキャッシュのテストの場合は、意味がありません。

どこに原因があるのかが、判らなくなってきました。
些細な事でもよいので、留意点や確認すべきことを教えていただけると、
非常に助かります。

よろしくお願いします。
みーむ
ベテラン
会議室デビュー日: 2003/10/13
投稿数: 56
投稿日時: 2003-11-21 18:13
みなさま、お世話になっています。

解決しました。テスト環境に問題があったことが判りました。
ブラウザ(IE6)の一時ファイル設定の設定値が、
・ページを表示するごとに確認する
になっており、この値を
・自動確認する
に変更することにより、ブラウザキャッシュが行われるようになりました。

これって、たぶんIEのデフォルト設定ではないですよね?

引き続き、プロキシでキャッシュされるかのテストを行ってゆくつもりです。

皆様、ありがとうございます。
とくに熱心に御教授くださった、Gordieさんには本当に感謝しています。
Gordie
ベテラン
会議室デビュー日: 2003/10/14
投稿数: 64
投稿日時: 2003-11-21 21:50
Gordieです。解決したそうで何よりですね。

IEのデフォルトの設定は、「自動的に確認する」だったはずです。

リロードやMETAのRefreshを使用した場合、リクエストはキャッシュを無視しますので、プロキシサーバーなりアプリサーバーなりに要求が上がります。
プロキシサーバを介していない場合は直接アプリサーバーが要求を処理することになり、キャッシュの意味がなくなりますが、プロキシサーバーが介在する場合、プロキシのキャッシュの有効期限が切れるまではプロキシのキャッシュを返すため、アプリサーバーへの負荷を低減できます。

強制リロード(IEならCtrl+リロード)をされた場合は、プロキシが介在していてもアプリサーバーまで要求が上がります。



[ メッセージ編集済み 編集者: Gordie 編集日時 2003-11-21 21:54 ]

スキルアップ/キャリアアップ(JOB@IT)