Janko wrote: > I think, this is one problem with the current code. There is > no defined way to decide, when something is last modified. > With CMF-based sites there is a clearly defined property for > this. On the other hand all objects have at least a > bobobase_modification_time, but this one changes with every > ZODB action on the object. > > I'm not sure what to do.
Also, in most cases, the content of pages doesn't all come from one object, so Last-Modfied doesn't really make sense since it should refer to the whole page. I think the problem is with Apache's inability to cache content with Expires set, and that Apache should be fixed. ETAG NOTES As for Zope, I'm not sure if setting and empty Etag header is the right thing to do if no Etag was provided...? I've been thinking about how Zope could be extended to support HTTP validators on Etags. How about this (Page Templates = ZPT or DTML): - Page Templates are extended with a customizable Etag function/ property. Could be part of the cachable interface. You should set this to return a different etag if, and only if, the content of the page was different. - Page Templates are extended to support If-Match and other such conditionals by calling the customized Etag function and returning 304 Not Modified if the Etag conditions are met (e.g., the calculated etag is the same as the browser/cache provided etag). - Upon rendering the top most Page Template the Etag is automatically calculated and included in the HTTP Headers. If all objects have an etag (Zope seems to be going in that direction looking at the WebDAV code), then a simple way to calculate the etag for a page would be the hash of all the etags for all of the content of that page added together (string concats). Another way could be to let the etag change every X seconds (to simulate the current expires caching model). Bye, -- Bjorn _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )