+1 if we also add X-Couch-Document-Rev so something that reflects the _rev value in HTTP headers.
Currently, while Etag matches the _rev value, it makes quite handy feature for getting the document revisions without fetching whole the body. To not break this feature, we need to introduce something in place of old Etag behaviour to keep the balance. -- ,,,^..^,,, On Fri, Apr 8, 2016 at 3:43 PM, Garren Smith <[email protected]> wrote: > Hi All, > > I would like to propose a change to how we generate the ETAG for a document > response. > > While working on COUCHDB-2978[1] we started looking at how etags were > generated when a document is requested. Currently the etag for a document > is the _rev. This causes a problem with _local documents as their revision > never changes also with documents where the user chooses the _rev. Both of > these can cause some caching issues. > > I would like to propose that the etag is generated from the body of the > response (typically the document), _rev and attachments. So for normal > documents the etag is md5(_rev, body, attachment) and for _local documents > it would be md5(_rev, body). This would make it a lot more consistent and > the etag would change when a document has changed. > > Cheers > Garren > > > > > > [1] https://issues.apache.org/jira/browse/COUCHDB-2978
