Opened 14 years ago
Closed 13 years ago
#54 closed design (fixed)
Definition of 1xx Warn-Codes
| Reported by: | mnot@… | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 08 |
| Component: | p6-cache | Severity: | Active WG Document |
| Keywords: | Cc: |
Description
The offending part of section 13.1.2 (Warnings, page 77) reads:
1xx Warnings that describe the freshness or revalidation status of the response, and so MUST be deleted after a successful revalidation. 1XX [sic] warn-codes MAY be generated by a cache only when validating a cached entry. It MUST NOT be generated by clients.
The problems, in order from simplest to the most complex:
- 1XX should be 1xx (or vice-versa) everywhere.
- The use of MAY in the offending part of 13.1.2 conflicts with the MUST requirements in section 14.46 and the definition of MAY in BCP14.
- One would think that proxies could include caches (though I have yet to find where this is permitted with a true BCP14 MAY). However, the wording in the offending part of 13.1.2 makes it impossible to satisfy the requirements of a cache and the requirements of a client (and, by extension, proxy) simultaneously. A cache is not an independent program; it is part of a program (as per the 1.3 definition). A client is a program, and it can contain a cache (again, from 1.3), but this limits the cache's behavior to the set intersection of allowed behaviors for caches and clients (due to how "client" is defined). This leads to a conflict where the cache MUST generate a 1xx code, but a client MUST NOT generate a 1xx code. Thus, we're left having to conclude that caches can exist only as part of independent servers (which have their content pushed to them, or delivered through some out-of-band method).
Change History (5)
comment:1 Changed 14 years ago by mnot@…
comment:2 Changed 14 years ago by mnot@…
- Component set to cache
- Milestone set to unassigned
comment:3 Changed 13 years ago by mnot@…
(1) and (2) addressed in p6-06;
o 1xx Warnings that describe the freshness or validation status of
the response, and so MUST be deleted by caches after validation. They MUST NOT be generated by a cache except when validating a cached entry, and MUST NOT be generated by clients.
comment:4 Changed 13 years ago by mnot@…
- Milestone changed from unassigned to 08
- Priority set to normal
- Severity set to Active WG Document
Proposal:
They can only be generated by a cache that is validated a stored entry, and MUST NOT be generated in any other situation.
It's also probably worth putting in a reference to this from 2.4 Validation Model.
comment:5 Changed 13 years ago by mnot@…
- Resolution set to fixed
- Status changed from new to closed
Changeset [709] closes.
![(please configure the [header_logo] section in trac.ini)](https://www.ietf.org/images/ietflogotrans.gif)
Proposal: