2006/6/8, James Holderness <[EMAIL PROTECTED]>:

Mark Nottingham wrote:
> Are you talking about using ETag HTTP response headers, If-Match  request
> headers, and 304 Not Modified response status codes? That's a  gross
> misapplication of those mechanisms if so, and this will break
> intermediaries along the path.

For the first page I'm talking about an Etag (or Last-Modified) HTTP
response header and If-None-Match (or If-Modified-Since) request headers for
the retrievals a month later.

What you described is RFC3229 w/ feeds [1], but you failed to include
the new request and response headers and the specific status code,
which are necessary because you're changing the behaviour of
If-None-Match and 304 (Not Modified) as defined in HTTP/1.1.

For page two onwards the state information (date, query and page number)
comes from the link urls returned by the first page.

That means you need to keep entry revisions as well, so that if an
entry is updated while a client is navigating the paged result set, it
is sent the "old" revision (corresponding to the "date" parameter).

> Even if it's cast as a query parameter in the URI (for example), it
> requires query support on the server side, a concept of "discovered  time"
> (as you point out), and places constraints on the ordering of  the feed.

The ordering is not necessarily important. As long as the server can filter
out entries that don't match a specific time criteria it can return those
entries in any order.

Yes, ordering is not important. If ranking is necessary, then use the
Feed Rank extension (but that means that potentially a great number of
entries will be sent back as "modified" in 226 (IM Used) responses
just because their ranking has changed)

> Are you proposing this instead of the mechanism currently described  in
> FH? Alongside it?

What I'm proposing would work with the FH as currently specified as long as
the client supported ETag or Last-Modified as well. For me that means no
change at all.

You're trying to change HTTP/1.1 behaviour wrt the If-None-Match
request-header field and the 304 (Not Modified) status code, so you
need to implement RFC3229 w/ feeds (which means dealing with some new
headers and a new status code).

As I already said, I highly suggest not using paging for 226 (IM Used)
responses and rather fall back to "standard GET" in case there are too
many changes (i.e. behaving the same way as servers that don't support
RFC3229 w/ feeds).

My main concern is that RFC3229 w/ feeds is being deployed more and
more widely and is still not even an I-D (or I missed something).
Maybe FH could be the place to spec it, as another optimization
algorithm…

[1] http://bobwyman.pubsub.com/main/2004/09/using_rfc3229_w.html

--
Thomas Broyer

Reply via email to