While trying to determine why IE6 was constantly trying to update images we noticed that A4D v4.x wasn't including the expires header for images. We tracked it down to On Web Connection where the 4D 2004+ code replaces the 4D 2003 code. With the 4D 2003 code the header is:

HTTP/1.0 200 OK
Server: 4D_WebStar_D/2004
Date: Thu, 03 May 2007 23:42:12 GMT
Last-Modified: Fri, 07 Nov 2003 04:01:30 GMT
Content-Length: 43
Content-Type: image/gif
Connection: close
Expires: Fri, 04 May 2007 23:42:12 GMT

with the 4D 2004+ code the header is:

HTTP/1.0 200 OK
Server: 4D_WebStar_D/2004
Date: Thu, 03 May 2007 23:48:02 GMT
Last-Modified: Fri, 07 Nov 2003 04:01:30 GMT
Content-Length: 43
Content-Type: image/gif

We modified A4D_PostExecuteHook to add the expires header but we were wondering if anybody else have noticed this and what you did to fix the problem.

Based on what I'm seeing above, that is a request for a static gif, not a dynamically generated one, correct? If it were dynamic, there would be some cache headers.

For a static image request, the Expires header is erroneous and is wrongly added by SEND HTML BLOB. That is one reason I switched to SEND HTTP RAW DATA in 2004.

My testing with IE6 and my demo site shows that is correctly caching static images.

What is missing in my headers in a Connection header. You should change the line after the comment "`Need an extra CRLF after the headers to separate them from the body" to this:

TEXT TO BLOB("Connection: close\r\n\r\n";$response;Text without length ;*)

Regards,

   Aparajita
   www.aparajitaworld.com

   "If you dare to fail, you are bound to succeed."
   - Sri Chinmoy   |   www.srichinmoylibrary.com


_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/

Reply via email to