* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Ticket #512 (closed design: incorporated)

Opened 13 months ago

Last modified 13 months ago

APPSDIR review of draft-ietf-httpbis-p6-cache-24

Reported by: julian.reschke@gmx.de Owned by: draft-ietf-httpbis-p6-cache@tools.ietf.org
Priority: normal Milestone: unassigned
Component: p6-cache Severity: In IETF LC
Keywords: Cc:
Origin: http://www.w3.org/mid/6.2.5.6.2.20131029070026.0c491228@elandnews.com

Description (last modified by fielding@gbiv.com) (diff)

Minor Issues:

In Section 1:

"Any client or server MAY employ a cache, though a cache cannot be used by a server that is acting as a tunnel."

I suggest not using the RFC 2119 "may" in the Introduction section. - see #515


In Section 1.2.1:

"If a cache receives a delta-seconds value larger than the largest positive integer it can represent, or if any of its subsequent calculations overflows, the cache MUST consider the value to be 2147483648 (231). A recipient parsing a delta-seconds value MUST use an arithmetic type of at least 31 bits of range, and a sender MUST NOT generate delta-seconds with a value greater than 2147483648.."

Shouldn't the largest value be 2147483647 (see MAX_INT)?

It seems superfluous to have the second RFC 2119 "must" and the RFC 2119 "must not".


In Section 5.2.2.2:

"Note: This directive uses the quoted-string form of the argument syntax. A sender SHOULD NOT generate the token form (even if quoting appears not to be needed for single-entry lists)."

I suggest not having RFC 2119 key words as part of a note. - see [2456]


In Section 5.2.2.3:

'The "no-store" response directive indicates that a cache MUST NOT store any part of either the immediate request or response. This directive applies to both private and shared caches. "MUST NOT store" in this context means that the cache MUST NOT intentionally store the information in non-volatile storage, and MUST make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it.'

There is a RFC 2119 "must not" followed by an explanation of the requirement which includes a RFC 2119 "must not" and a "must". I suggest rewriting the (first) requirement so that it is clear instead of explaining a requirement with another requirement.


In Section 5.2.2.6:

"Note: This directive uses the quoted-string form of the argument syntax. A sender SHOULD NOT generate the token form (even if quoting appears not to be needed for single-entry lists)."

I suggest not having the RFC 2119 "should not" as a part of a note. This suggestion also applies to the note in Section 5.2.2.8 and Section 5.2.2.9. - [2456]


Nits:


In Section 4.2:

"o A cache recipient MUST NOT allow local time zones to influence the calculation or comparison of an age or expiration time.

o A cache recipient SHOULD consider a date with a zone abbreviation other than GMT or UTC to be invalid for calculating expiration."

Section 7.1.1.1 of draft-ietf-httpbis-p2-semantics-24 states that:

"An HTTP-date value represents time as an instance of Coordinated Universal Time (UTC)."

If there is a requirement for the cache to use UTC (re. HTTP-date) internally the above RFC 2119 key words could be collapsed into that.

Attachments

512.diff (1.3 KB) - added by julian.reschke@gmx.de 13 months ago.
Proposed patch

Change History

comment:1 Changed 13 months ago by julian.reschke@gmx.de

  • Owner set to draft-ietf-httpbis-p6-cache@tools.ietf.org
  • Component changed from non-specific to p6-cache

comment:2 Changed 13 months ago by julian.reschke@gmx.de

  • Description modified (diff)

comment:3 Changed 13 months ago by julian.reschke@gmx.de

  • Description modified (diff)

comment:4 Changed 13 months ago by julian.reschke@gmx.de

From [2456]:

Remove the "Note:" from requirements on using token/quoted-string for certain cache-control directives (see #512)

comment:5 Changed 13 months ago by julian.reschke@gmx.de

  • Description modified (diff)

comment:6 Changed 13 months ago by julian.reschke@gmx.de

  • Severity changed from In WG Last Call to In IETF LC

comment:7 Changed 13 months ago by mnot@pobox.com

From [2484]:

Note that maximum max-age might cause problems for some platforms. See #512

comment:8 Changed 13 months ago by mnot@pobox.com

  • Status changed from new to closed
  • Resolution set to incorporated

Leaving the requirements alone.

comment:9 Changed 13 months ago by fielding@gbiv.com

I did some research after the meeting on the maximum delta-seconds value of 2147483648 (231) and found that it was introduced after a discussion of the caching interest group (in response to a critique by Koen Holtman) and introduced as part of the big cache section dump without any further discussion. Hence, it was a mistake -- the intended value for senders is a 32bit INT_MAX. Since this section also makes a 2119 requirement on implementations (not on protocol) that is unwarranted, I have fixed it so that the single remaining requirement makes sense.

Backwards compatibility here would be useless because the reason for the maximum value on senders is to prevent overflow on 32bit max recipients. Continuing to support an overflow value for that purpose would be worse than deleting the requirement entirely.

comment:10 Changed 13 months ago by fielding@gbiv.com

From [2488]:

Fix the maximum value for delta-seconds for senders to be 2147483647 instead of 2147483648, since the goal was to prevent 32bit INT_MAX overflow on recipients; reduce other implementation requirements to an ought and to what is necessary to preserve the intended value; see #512

comment:11 Changed 13 months ago by fielding@gbiv.com

  • Description modified (diff)

comment:12 Changed 13 months ago by fielding@gbiv.com

From [2491]:

revert [2488]; see #512

comment:13 Changed 13 months ago by fielding@gbiv.com

  • Description modified (diff)

comment:14 Changed 13 months ago by fielding@gbiv.com

From [2492]:

fix two typos in the note added in [2484]; see #512

Changed 13 months ago by julian.reschke@gmx.de

Proposed patch

comment:15 Changed 13 months ago by fielding@gbiv.com

From [2494]:

Explain the value 2147483648 in delta-seconds, reduce the MUST implement as 31 bits to an ought (not valid use of 2119 terms), and remove unimplemented requirement that sender MUST NOT generate a value greater than 2147483648; see #512

Note: See TracTickets for help on using tickets.