- From: Musatov, Martin - CW <Martin.Musatov@bestbuy.com>
- Date: Mon, 25 Jun 2012 15:51:44 +0000
- To: Julian Reschke <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
"Can" is the most common for asking for, giving or refusing permission: "May" formal way to ask for or give permission: "Should" is clearly not neutral and implies "proper" -----Original Message----- From: Julian Reschke [mailto:julian.reschke@gmx.de] Sent: Sunday, June 24, 2012 5:19 AM To: HTTP Working Group Subject: #271: use of "may" and "should" P1, 2.1: Note: The term 'user agent' covers both those situations where there is a user (human) interacting with the software agent (and for which user interface or interactive suggestions might be made, e.g., warning the user or given the user an option in the case of security or privacy options) and also those where the software agent may act autonomously. "may" -> "can" P1, 8.2: HTTP log information is confidential in nature; its handling is often constrained by laws and regulations. Log information needs to be securely stored and appropriate guidelines followed for its analysis. Anonymization of personal information within individual entries helps, but is generally not sufficient to prevent real log traces from being re-identified based on correlation with other access characteristics. As such, access traces that are keyed to a specific client should not be published even if the key is pseudonymous. "should not" -> "SHOULD NOT" To minimize the risk of theft or accidental publication, log information should be purged of personally identifiable information, including user identifiers, IP addresses, and user-provided query parameters, as soon as that information is no longer necessary to support operational needs for security, auditing, or fraud control. "should" -> "SHOULD P2, 2.2.1: New method definitions need to indicate whether they are safe (Section 2.1.1), what semantics (if any) the request body has, and whether they are idempotent (Section 2.1.2). They also need to state whether they can be cached ([Part6]); in particular what conditions a missing "under"? cache may store the response, and under what conditions such a stored response may be used to satisfy a subsequent request. "may" -> "MAY" P2, 2.3.8: Similar to a pipelined HTTP/1.1 request, data to be tunneled from client to server MAY be sent immediately after the request (before a response is received). The usual caveats also apply: data may be discarded if the eventual response is negative, and the connection may be reset with no response if more than one TCP segment is outstanding. "may" -> "might" (twice) P2, 3.1: o Whether the header field should be preserved across redirects. "should" -> "ought to" P2, 4.5.4: The 303 status code indicates that the server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, that is intended to provide an indirect response to the original request. In order to satisfy the original request, a user agent SHOULD perform a retrieval request using the Location URI (a GET or HEAD request if using HTTP), which may itself be redirected further, and present the eventual result as an answer to the original request. Note that the new URI in the Location header field is not considered equivalent to the effective request URI. "may" -> "can" P4, 2.4: HTTP/1.0 clients and caches might ignore entity-tags. Generally, last-modified values received or used by these systems will support transparent and efficient caching, and so HTTP/1.1 origin servers still ought to provide Last-Modified values. In those rare cases where the use of a Last-Modified value as a validator by an HTTP/1.0 system could result in a serious problem, then HTTP/1.1 origin servers should not provide one. (see http://trac.tools.ietf.org/wg/httpbis/trac/ticket/363) P6, 2.3.3: If a cache receives a first-hand response (either an entire response, or a 304 (Not Modified) response) that it would normally forward to the requesting client, and the received response is no longer fresh, the cache can forward it to the requesting client without adding a new Warning (but without removing any existing Warning header fields). A cache shouldn't attempt to validate a response simply because that response became stale in transit. "shouldn't" -> "SHOULD NOT" P6, 2.4: Additionally, a cache can add an If-None-Match header field whose value is that of the ETag header field(s) from all responses stored for the requested URI, if present. However, if any of the stored responses contains only partial content, the cache shouldn't include its entity-tag in the If-None-Match header field unless the request is for a range that would be fully satisfied by that stored response. "shouldn't" -> "SHOULD NOT" P6, 3.2.3: For example, consider a hypothetical new response directive called "community" that acts as a modifier to the private directive. We define this new directive to mean that, in addition to any private cache, any cache that is shared only by members of the community named within its value may cache the response. An origin server wishing to allow the UCI community to use an otherwise private response in their shared cache(s) could do so by including "may" -> "can" Feedback appreciated, Julian
Received on Monday, 25 June 2012 15:52:34 UTC