新規記事投稿 フォロー記事投稿 記事のキャンセル
From: TAD <hotani@mua.biglobe.ne.jp>
Subject: Re: CGIでのヘッダ出力(ボールイメージの件について)
Date: 1999/05/28 11:59:15
Reference: mesh.program/00663

5月27日に、三葉工房さんは書きました。

>ボールイメージの件なのですが,残念ながらNetscapeでは,私の
>質問した問題のイメージプログラムと同様に,リロードボタンでは
>1回きりしか,オンラインからイメージをリロードしません。

#ちょっとあきらめが早すぎるのではないでしょうか。
#なぜ、にあさんが言っている動きをしないのかの理由をブラウザのせいにして終わりなのですか。
#もっと自分を疑ってみましょうよ。

結論から言うと、私の使用している以下のブラウザではちゃんとリロード(再読み込み)
するたびに違う画像が表示されましたよ。
NetscapeCommunicator  4.5
NetscapeNavigator  3.01

但し、最初試したときはすぐにリロードすると何回やっても変わらなかったので
おかしいと思い、しばらく経って(1分程度)からリロードしたらちゃんと変わりました。
どうしてこうなったのかと少し考えてみましたが、以下のような理由ではないかと思います。
三葉工房さんの場合も同じ理由じゃないでしょうか。

<理由>
サーバから画像が送られるときに有効期限(Expires:)はサーバでの現在時刻が設定されてきます。
それで、クライアント側の時計がサーバと同じ時刻であれば、
ブラウザでリロードする時点では当然すでに有効期限が過ぎているので
ブラウザは再度、画像を要求するというのが想定した動き(正しい動き)ですが、
クライアント側の時計が例えば1分くらいサーバより遅れている場合、
すぐにリロードしたのでは、クライアント側ではまだ有効期限を過ぎていないので
ブラウザは再度、画像をサーバに要求することなく自分のキャッシュ上の前の画像を
そのまま表示してしまうため、何度やっても画像が変わらない、ということになってしまう。

そこで私は自分のPCの時刻を確認してみたところやはり時刻が1分程度遅れていたので
117に電話して、正しい時刻に設定しました。
そうしてやり直してみたところすぐにリロードしても画像が変わるようになりました。

>又,分からない事が思いつきましたら改めて宜しくお願いします。

別に、思いついたときすぐに質問に来る必要はないですよ。
考えて考えて考えてもわからなかった時に初めて、質問するようにした方が
自分のためにもなるしみんながハッピーになれると思います。

では。