#430 closed design (fixed)
definition public cache-control directive is incompatible with RFC2616
Reported by: | fielding@… | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 22 |
Component: | p6-cache | Severity: | In WG Last Call |
Keywords: | cache-control, public | Cc: |
Description
The cache-control directives have a defined meaning that must not be changed without changing the major protocol version. The definition of public in RFC2616 says
14.9.1 What is Cacheable
By default, a response is cacheable if the requirements of the request method, request header fields, and the response status indicate that it is cacheable. Section 13.4 summarizes these defaults for cacheability. The following Cache-Control response directives allow an origin server to override the default cacheability of a response:
public
Indicates that the response MAY be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non- shared cache. (See also Authorization, section 14.8, for additional details.)
The current p6 says:
7.2.2.1. public
The "public" response directive indicates that a response whose associated request contains an 'Authentication' header MAY be stored (see Section 3.2).
Which is wrong: the parenthetical in the prior definition was just a cross-reference, not a constraint. The new definition removes all of the other cases where public is used to make a non-cacheable response cacheable. For example, in RFC2616, the following response is cacheable using a cache-selected (heuristic) expiration time:
HTTP/1.1 302 Found Location: /somewhere Cache-Control: public
The original definition needs to be restored.
Change History (8)
comment:1 Changed 9 years ago by fielding@…
- Summary changed from definition public and private cache-control directives are incompatible with RFC2616 to definition public cache-control directive is incompatible with RFC2616
comment:2 Changed 9 years ago by fielding@…
comment:3 Changed 9 years ago by fielding@…
- Milestone changed from unassigned to 22
- Resolution set to incorporated
- Status changed from new to closed
comment:4 Changed 9 years ago by mnot@…
- Resolution incorporated deleted
- Status changed from closed to reopened
comment:5 Changed 9 years ago by mnot@…
- Resolution set to incorporated
- Status changed from reopened to closed
comment:6 Changed 9 years ago by mnot@…
- Resolution incorporated deleted
- Status changed from closed to reopened
comment:7 Changed 9 years ago by mnot@…
- Resolution set to fixed
- Status changed from reopened to closed
From [2171]:
Restore the original semantics of the public and private cache directives as overriding non-cacheable defaults; Addresses #430; Reverts [1129] and #268