キャッシュが瞬間的に無効になるという現象を阻止するには?
[上に]
[前に]
[次に]
seea
[HomePage]
1999/07/23(金) 22:45:05
当方の環境は、MSIE 5.0 / Windows98 / キャッシュ用HD領域 64MB です。
キャッシュの設定は「新しいバージョンを確認しない」となっています。
----
前回にも増して複雑な質問で申し訳ないのですが、ご指導頂ければ幸いです。
タイトル通り、ブラウザの保持するキャッシュが無効になってしまうという
現象を確認しています。一定の条件が重なると発生するのですが、それを
何とか防ぐことができないものだろうか、というのが質問の趣旨です。
フォームを使って、ブラウザからCGIにパラメータを渡します。次のように:
(今回はCGIの利用を前提としています)
<FORM ACTION="jump.cgi" METHOD=get>
<INPUT TYPE=text NAME="p" SIZE=5 MAXLENGTH=5 VALUE="" ACCESSKEY="P">
<INPUT TYPE=submit VALUE="跳躍">
</FORM>
実際、このような FORM を利用しています。
そして jump.cgi は:
・パラメータ p から送られた値をもとに、ある一つのURLを求める。
・そこに Location: で飛ばす。(外のサーバですので、絶対URLになります)
このような処理を行います。
Location: で飛ばされた先は、何度飛んでも、キャッシュされないようなのです。
妙だとは思いませんか。URLから直接呼び出すとき:
<A HREF="jump.cgi?p=100">No.100</A>
そのときは、飛ばされた先は、二度目からは正しくキャッシュを読んでいるのです。
一連の実験の途中で、そのURLが更新されていないことは明らかです。
次の実験として、問題のURLの読み込みが完了した後、ブックマーク、一旦ブラウザを
終了させ回線も切り、再び立ち上げたブラウザでブックマークを開くと、見られました。
正しくキャッシュされていたのです。つまり、ページの有効期限から、ファイルが消えている
わけではないようなのです。このときブラウザの「オフラインモード」は使っていません。
フォームから呼び出したときは、無条件でキャッシュが消えてしまうのでしょうか。
いえ、実際には、キャッシュされることもありました。ときどき。謎。
この件について詳しい方は居られますでしょうか。宜しくお願い致します。
(経緯が長く判りづらいと思います。該当するページは HomePage からアクセスできます。
意味のおかしいところや、疑問な点は、ご指摘ください)
Aurai
1999/07/25(日) 23:45:11
そんなにキャッシュが恋しいのなら
ローカルでプロキシでも立ち上げたらどうでしょう
さくらいゆずる
1999/07/26(月) 01:10:59
http://www1.mirai.ne.jp/~mikeneko/bd/log.cgi?room=334
で見たのですが、Location:ではキャッシュが無視される?らしいです・・・。
seea
1999/07/26(月) 06:49:35
リプライありがとうございます。
>Auraiさん
訪問者の利便性を念頭に置いています。
ローカルで立ち上げても、それを訪問者に提供するだけの
設備が無いのです。
>さくらいゆずるさん
なるほど、そういうこともあるのですね。
しかし今回は
<A HREF="jump.cgi?p=100">No.100</A>
で実験しているところに着目できます。
これは Location: で飛ばしており、様々なURLを試しまして
ほぼ、キャッシュを維持できることを確認しています。
そのため ”FORM で飛ばすことが「鍵」になっているのでは?”
と予想したのですが、他のページに飛ばすときに、これまた
キャッシュを維持できる場合があるのです。まちまちなのです。
その「差」を知りたくて質問させていただきました次第です。
ちはる
1999/07/28(水) 06:42:21
Netscapeで見た場合にどういう症状か試してみてはどうでしょう。
Netscapeで期待通りの動作ならば、IEが原因という事になりますよね。
(Netscapeをいつも使えば?という意味ではありませんけど)
余談ですが、IEはキャッシュ用のディレクトリ内部に隠しディレクトリを
4つ作ってあって、そこに交互に保存しながらキャッシュしているようです。
(どういう規則で4つを使い分けるのかは謎ですが)
seea
1999/07/29(木) 05:37:54
早速 Netscape 4.04 日本語版 でチェックしました。
こちらでは、正しくキャッシュが効くようです。
ということは・・ MSIE5.0 のバグ?
Location: の規則性が謎ですが、FORM を利用したとき MSIE のバグが
発動するのかもしれません。しばらく詳細に検証しようと思います。
seea
1999/07/29(木) 05:41:11
技術的に可能な範囲で JavaScript に置きかえるかもしれません。
JavaScript が有効なら MSIE5.0 のバグを回避できる、という形で。
(独自形式のデータベースファイルを利用しているので難しいかな・・)
[上に]
[前に]
[次に]