On Oct 29, 2006, at 9:05 PM, Scott Kaplan wrote:

I tried this on multiple browsers and on multiple machines.  I have
the browsers all setup to not cache anything.

Never trust a browser.  Try using wget/curl.

If I wait more than 1 minute between visiting the same dynamic page, I don't have the problem.

Are you testing locally? That sounds a lot like caching, either in the browser or on a proxy server between you and the server ( a lot of ISP's do that )

If I visit a recent dynamic page within a minute, I have to hit refresh and only then do I get the most recent stuff.

That sounds exactly like browser caching.


This is most annoying and not web safe. I am convinced that there is a
configuration setting somewhere that is telling Apache to not
interpret/compile any script that has been recently visited (within 1
minute in my case).  I searched through httpd.conf and I couldn't find
anything.

If Apache were to blame, hitting refresh wouldn't have an effect.


On Oct 29, 2006, at 9:17 PM, Dondi M. Stroma wrote:
We will need more details though; is this your own Perl handler, an Apache::Registry script, or something else?

Agreed. Also, what dynamic content is changing: sql content ? dynamically generated stuff? or did you mean that you changed a script, and you expected it to be different (then you get into Apache::Reload and multiple server instances issues)

How are you generating the response headers? Apache::Request? CGI.pm? Do you "use strict" and "use warnings"? Check for any "will not stay shared" warnings and make sure you don't use "my" variables in a subroutine that were declared outside of it.

from what he described, it doesn't sound like it could be scoping- - but it never hurts to double check. make triple sure that you're using warnings, and everything is scoped correctly.

there's a slim chance that you're experiencing this:

        given:
                multiple apache children
                poor variable scoping

        effect:
                request 1 is on pid X , everything happens fine
                request 2 is on pid X , poor scoping gives same content as 
request 1
request 2 is on pid Y , everything happens fine ( new content is generated )

it doesn't sound like that's happening, but its possible. usually stuff like that manifests itself with Apache2::Reload issues.


Finally, you may wish to try setting "Pragma" and "Cache-Control" headers.
+1 on that.



Reply via email to