couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Newson (JIRA)" <>
Subject [jira] [Updated] (COUCHDB-2262) CouchDB 1.6.0 missing Accept in Vary
Date Wed, 25 Jun 2014 08:14:25 GMT


Robert Newson updated COUCHDB-2262:

    Priority: Minor  (was: Major)

This one is actually true, we should send the Vary header.

The impact of fixing it is very small, though. Browsers will typically always get the text/plain
(which they can render) and, if they got the same response body but with application/json
they'd at most fail to render it (and vice versa). Programmatic access would process the response
body correctly (since it is valid JSON).

I've moved this to "minor" to reflect that.

> CouchDB 1.6.0 missing Accept in Vary
> ------------------------------------
>                 Key: COUCHDB-2262
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: HTTP Interface
>            Reporter: Kaj Nielsen
>            Priority: Minor
> 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

View raw message