I have a banner rotation program, via a CGI-Perl script. A call is made to the ad script from my HTML webpage with the source: <img src="cgi-bin/nph-ads.cgi" width=468 height=60>
The script returns back the appropriate ad with the HTTP headers:
Last-Modified: Fri, 11 Sep 1998 01:54:00 GMT
Date: Fri, 11 Sep 1998 01:50:00 GMT
Expires: Fri, 11 Sep 1998 01:55:00 GMT
The graphic banners returned are mostly GIF anims.
Strangely, when the GIF Anim banner has hit it's expired time (01:55), for "some reason" Netscape makes a call to the CGI script again and fetches another banner from it. However, a non-animating banner doesn't do such a thing.
Sure the banner has expired and so doesn't exist in the cache anymore but I don't understand why Netscape makes that automatic call to the cgi script; I didn't do anything but sit there and watch the GIF anim? Is this a bug with Netscape and does this occur in IE?
One other question. The HTTP Header, Expires, which I send back is of course in GMT; GMT is only good for establishing a universal "hour" between server and client. The minutes, on the other hand, is established by using the client's minutes of the hour. So if the client's time is: 04:30am, then the GMT time could be 00:30, where the 30 was established by the client's minutes.
Now as you can see from my output HTTP headers, my banners expire in 5 minutes from the time it was dished out to the client. So if the server time was 04:26 am then the Expires header will be set to expire at 04:31am.
Now Netscape will "expire" the item once it has matched or exceeded the established Expires time from the server. Netscape's expire system appears to be based on the client's present time. So if the client's time were 04:30am then the item will expire in 1 minute rather than the "full" 5 minutes.
Is there ANYWAY to be assured that the banner won't expire until the established time?
Thanks for help you can provide!