Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BFCFB11C1B for ; Wed, 25 Jun 2014 00:50:24 +0000 (UTC) Received: (qmail 36074 invoked by uid 500); 25 Jun 2014 00:50:24 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 36018 invoked by uid 500); 25 Jun 2014 00:50:24 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 36007 invoked by uid 99); 25 Jun 2014 00:50:24 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 00:50:24 +0000 Date: Wed, 25 Jun 2014 00:50:24 +0000 (UTC) From: "Kaj Nielsen (JIRA)" To: dev@couchdb.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (COUCHDB-2262) CouchDB 1.6.0 missing Accept in Vary MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 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)