You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Christopher Lenz (JIRA)" <ji...@apache.org> on 2008/03/11 20:58:46 UTC

[jira] Updated: (COUCHDB-4) Use HTTP Etags for cache support

     [ https://issues.apache.org/jira/browse/COUCHDB-4?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Lenz updated COUCHDB-4:
-----------------------------------

    Component/s: HTTP Interface

> Use HTTP Etags for cache support
> --------------------------------
>
>                 Key: COUCHDB-4
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-4
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: HTTP Interface
>            Reporter: Noah Slater
>
> CouchDb currently puts a number of headers in HTTP responses that disable
> any caching. However, the docid and rev that are part of every document
> would make it extremely easy to instead generate solid Etag headers, and
> then return 204 Not Modified responses for GET and HEAD requests if the
> client sends along the most current Etag value.
> For example, instead of:
> HTTP/1.1 200 OK
> Server: inets/develop
> Date: Sat, 15 Sep 2007 11:21:41 GMT
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: Sat, 15 Sep 2007 11:21:41 GMT
> CouchDB should return something like:
> HTTP/1.1 200 OK
> Server: inets/develop
> Date: Sat, 15 Sep 2007 11:21:41 GMT
> Cache-Control: must-revalidate
> Etag: ${docid}@${rev}
> Sufficiently sophisticated clients (such as Python httplib2) could then use
> If-None-Match to perform conditional GET requests.
> Thinking about it again, as the docid is already in the URL, only the rev
> is needed in the Etag headers.
> --
> Comment 1 by cml...@gmx.de, Oct 01, 2007
> See also http://intertwingly.net/blog/2007/09/24/Tests-Id-Like-CouchDB-to-Pass#etag

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.