[PATCH] Etag responses need Vary header
The Request.check_modified() function which adds the Etag and checks If-None-Match should be adding a "Vary *" header along with the initial response and the 304 response.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44
This creates a problem of the browser always caching attachments when mod_deflate is used. mod_deflate adds a "Vary Accept-Encoding" header which makes the browser believe that only Accept-Encoding is used to determine cacheability. "Vary *" is needed to let the browser know that other information is used to make caching decisions.
Also note that Request.send_file() function does not send a Cache-Control header. That should be OK if Vary * is sent.
Change History
(14)
Keywords: |
etag added
|
Milestone: |
→ 0.11.1
|
Owner: |
changed from Jonas Borgström to Christopher Lenz
|
Milestone: |
next-minor-0.12.x → unscheduled
|
Owner: |
Christopher Lenz removed
|
Component: |
general → web frontend
|
Milestone: |
unscheduled → 0.13
|
Owner: |
set to Christian Boos
|
Milestone: |
1.0 → 1.0-triage
|
Owner: |
Christian Boos removed
|
Milestone: |
next-stable-1.0.x → next-stable-1.2.x
|
Milestone: |
next-stable-1.2.x → next-stable-1.4.x
|
Milestone: |
next-stable-1.4.x → next-stable-1.6.x
|
cmlenz, can you validate the proposed approach?