You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Kaj Nielsen (JIRA)" <ji...@apache.org> on 2014/06/25 02:52:25 UTC
[jira] [Created] (COUCHDB-2263) CouchDB 1.6.0 missing Accept in
Vary
Kaj Nielsen created COUCHDB-2263:
------------------------------------
Summary: CouchDB 1.6.0 missing Accept in Vary
Key: COUCHDB-2263
URL: https://issues.apache.org/jira/browse/COUCHDB-2263
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)