I may need to rethink ETags w.r.t. module URLs.

I'm seeing that in my development with Chrome, the browser is serving the
pages from cache rather than checking with the server, as it should.  The
ETag header is present, but I don't see the browser sending a request at
all.

This is known behavior:

http://stackoverflow.com/questions/16173322/google-chrome-does-not-revalidate-etag-on-back-forth

http://palizine.plynt.com/issues/2008Jul/cache-control-attributes/

It seems like the browsers do exactly the wrong thing, defeating the value
of ETags. This isn't a problem for ordinary assets, as there's a version
number in there that changes when the content changes ... but for modules,
the browser will see the same URL even when the content changes, and it is
not being aggressive enough about pulling down the latest.

I believe that if we add a "Cache-Control: must-revalidate" to module
content responses it should work as expected.

-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Reply via email to