IMHO, Last-modified does not make sense for dynamically calculated pages, as most zope pages are. We should just not provide this header, or provide with the value of the current time. I think the Last-modified header should only be properly calculated for objects whose 'bobobase_modification_time' actually reflects the state of the object as seen from someone rendering it directly, such as File and Image objects. A single <dtml-var ZopeTime> in a method is enough to render the Last-modified header dangerously inacurate, IMO. Zope is a dynamic web server. Most of the time, any hit returned by zope was dynamically generated just now, and that's what we should be telling web clients, with very specific exceptions, such as necessarily static content (Files and Images), cached methods (RAM cache manager), or methods where we programatically pretend the pages where not dynamically calculated (by manually setting headers). Cheers, leo. -- Ideas don't stay in some minds very long because they don't like solitary confinement.