UserPreferences

PaceAppModifiedAndEtag


Abstract

For Draft -09

Status

Working on wording still.

Rationale

Having a way of indicating the date an entry was last modified is a good optimization to avoid having to HEAD each individual member URI to get the Last-Modified header. The element is also useful for detecting minor changes that do not impact the value of atom:updated. It also helps keep track of changes on associated resources.

More detailed rational for this particular way of doing things can be found in the post [WWW]modified, updated, etags - a ontology based solution

Proposal

8.# The "app:modified" attribute

The "app:modified" attribute is a Date construct as defined by [RFC4287] whose
value indicates the most recent instant in time when some content was modified in 
any way.  Atom link and atom source elements MAY contain one "app:modified" attribute.

   attribute app:modified  { atomUri }

If present publishers SHOULD change the value of this element whenever the content pointed 
to by the link or content element's src  been modified as witnessed by a new HTTP Modified-Since header, when the
resource is served. Changing the value or adding an app:modified attribute need have no consequences on the atom:updated date.

8.# The "app:etag" attribute

The "app:etag" attribute provides an opaque token that can be used to identify 
the state of an atom:entry.  Atom link and atom source elements MAY contain one app:etag attribute.

    attribute app:etag { text }

If present publishers SHOULD change the value of this element whenever the content pointed 
to by the link or content element src been modified as witnessed by a new HTTP Etag header, when the
resource is served. The value of etag must be identical character for character with the value of the HTTP Etag.
Changing the value or adding an app:etag attribute need have no consequences on the atom:updated date.

Impacts

Very little. Use of the elements are optional.

Notes

Example:

  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="...">
    <id>urn:lsid:example.org:entries:1</id>
    <updated>2006-07-11T12:12:12Z</updated>
    <link rel="self" href="." app:modified="2006-07-11T13:37:22Z" app:etag="23FGQsdfgsdf"/>
    ...
    <content src="entry.html" app:modified="2006-07-10T13:37:22Z" app:etag="324234sdfsdf"/>
  </entry>

CategoryProposals