[Zope-dev] Etag support in page templates

Tres Seaver tseaver at zope.com
Mon Sep 15 10:26:56 EDT 2003


On Sun, 2003-09-14 at 22:59, Bjorn Stabell wrote:
> Dieter wrote:
> > Please read the HTTP 1.1 spec...
> > 
> >   Caching requires either an "ETag" or "Last-Modified" header.
> >   For good reasons...
> 
> That would explain why it never got "fixed", but that's not how I
> understand the RFC: http://www.w3.org/Protocols/rfc2616/rfc2616.html
> 
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
> http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2
> Indicates that "Expires" is enough to make content cacheable, and that
> it should be considered "fresh" until its expire time unless clients or
> servers use cache-control headers to force a revalidation.
> 
> Last-Modified and Etag are used to validate the content after it expires
> using If-Modified-Since and If-None-Match respectively.
> 
> Is there a thread discussing this already somewhere?
> 
> [ Btw, Zope does return an empty Etag header; does that cause any
> confusion? ]

I have a report that it does, at least for one hardware-based cache;  I
added a feature to z2.py for a client to turn this off.

The empty E-tag exists to support *very* broken clients (MSOffice over
WebFolders);  it should be removed, perhaps with a knob which allows
re-enabling it for the sites that actually have people editing content
using those clients.

A proposal to allow setting the header in a more useful way would be
welcome.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver at zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com





More information about the Zope-Dev mailing list