Kaj Nielsen created COUCHDB-2262:
------------------------------------

             Summary: CouchDB 1.6.0 missing Accept in Vary
                 Key: COUCHDB-2262
                 URL: https://issues.apache.org/jira/browse/COUCHDB-2262
             Project: CouchDB
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: HTTP Interface
            Reporter: Kaj Nielsen


CouchDB does server-driven content negotiation.

Meaning that it returns text/html, text/plain or application/json, depending on 
which context a particular URL was called in (after performing an educated 
guess using the Accept request header).

A bit yucky, but necessary at times..

The bug is that CouchDB does not include "Accept" in it's "Vary" response 
header.

This means that if you stick a modern HTTP cache in front of CouchDB, then the 
cache won't know that it has to fetch different content on behalf of clients 
that send different Accept headers.

This results in clients getting a cached copy with a content type of whatever 
the first client that hit the cache happened to prefer, rather than what the 
client needs.

Solution: include "Vary: Accept, ..." in the response headers generated by 
CouchDB.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to