[
https://issues.apache.org/jira/browse/COUCHDB-257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Joseph Davis updated COUCHDB-257:
--------------------------------------
Skill Level: Regular Contributors Level (Easy to Medium)
> HTTP caching headers don't provide expected behaviour
> -----------------------------------------------------
>
> Key: COUCHDB-257
> URL: https://issues.apache.org/jira/browse/COUCHDB-257
> Project: CouchDB
> Issue Type: Bug
> Components: HTTP Interface
> Affects Versions: 0.8.1, 0.9
> Environment: Server: Ubuntu Hardy on x86. Client: Windows XP (32-bit).
> Reporter: Vinay Sajip
> Priority: Minor
> Attachments: caching-header-patch.diff, expires.patch
>
>
> The HTTP caching headers currently put out cause IE (for example) to not
> display information correctly in Futon. It's easy to reproduce: I open
> windows in Firefox and IE simultaneously, do an update using Firefox (e.g.
> add a new document) and refresh the IE window. The updated document count is
> not shown. If I clear the browser cache and try again, the updated
> information is displayed. The HTTP header put out is
> Cache-Control: must-revalidate
> which seems to me insufficient - for IE, at least. Is there way of
> configuring these headers, to for example
> Cache-Control: no-cache
> Pragma: no-cache
> Expires: some date in the past, or the same value as the Date: header
> Christopher Lenz has said about this that "This is due to extra-aggressive
> (and against the HTTP spec) caching that IE does on XMLHTTPRequests. A
> patch would need to do user agent sniffing to conditionally add the "cache:
> false" parameter to the jQuery ajax() invocations in jquery.couch.js (and
> maybe elsewhere). I wouldn't want to add this for all user agents, as it
> basically circumvents any caching for AJAX requests (even for
> not-craptastically-broken implementations), and thus would add quite a bit
> of unnecessary overhead."
> To this, I would comment that I don't believe a patch to the client-side code
> in Futon would be sufficient. There are other clients out there, some of
> which will be on Windows and so by default use the (acknowledgely broken)
> Microsoft stack. In my view it is more important to err on the side of
> correctness than performance - so I believe the headers generated server-side
> need to change, as well as perhaps Futon client-side changes.
> I note that handle_uuids_req in couch_httpd_misc_handlers.erl uses the
> no-cache/Expires scheme I mention.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.