- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Sun, 27 Sep 2009 14:08:17 +0200
- To: HTTP Working Group <ietf-http-wg@w3.org>
Hi, we've got an old issue pending resolution with respect to totally confusing language in the introduction of Content-Location (see old mail quoted at the end and <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/136>). The RFC2616 text was: -- snip -- 14.14 Content-Location The Content-Location entity-header field MAY be used to supply the resource location for the entity enclosed in the message when that entity is accessible from a location separate from the requested resource's URI. A server SHOULD provide a Content-Location for the variant corresponding to the response entity; especially in the case where a resource has multiple entities associated with it, and those entities actually have separate locations by which they might be individually accessed, the server SHOULD provide a Content-Location for the particular variant which is returned. -- snip -- Note the double SHOULD in the second half, one overlapping the other in scope; more discussion about this is in the old mailing list thread starting at <http://lists.w3.org/Archives/Public/ietf-http-wg/2008JulSep/0259.html>. We recently rephrased the header field introductions, and Part 3 now states: -- snip -- 5.7. Content-Location The "Content-Location" entity-header field is used to supply a URI for the entity in the message when it is accessible from a location separate from the requested resource's URI. A server SHOULD provide a Content-Location for the variant corresponding to the response entity, especially in the case where a resource has multiple entities associated with it, and those entities actually have separate locations by which they might be individually accessed, the server SHOULD provide a Content-Location for the particular variant which is returned. -- snip -- (Note the first sentence was rewritten, and a paragraph break was inserted) We'd like to reduce this to: -- snip -- 5.7. Content-Location The "Content-Location" entity-header field is used to supply a URI for the entity in the message when it is accessible from a location separate from the requested resource's URI. A server SHOULD provide a Content-Location for the variant corresponding to the response entity, especially in the case where a resource has multiple entities associated with it and those entities actually have separate locations by which they might be individually accessed. -- snip -- ...which essentially removes the SHOULD for the case where there's only one entity - I think that reflects common sense. (see also <http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/136/136.diff>) Best regards, Julian Julian Reschke wrote: > > Hi, > > I was staring at the definition of Content-Language, and trying to > figure out how to rephrase it avoiding the term "variant" (as discussued > in <http://wiki.tools.ietf.org/wg/httpbis/trac/ticket/109>): > > RFC 2616 says: > > The Content-Location entity-header field MAY be used to supply the > resource location for the entity enclosed in the message when that > entity is accessible from a location separate from the requested > resource's URI. A server SHOULD provide a Content-Location for the > variant corresponding to the response entity; especially in the case > where a resource has multiple entities associated with it, and those > entities actually have separate locations by which they might be > individually accessed, the server SHOULD provide a Content-Location > for the particular variant which is returned. -- > <http://tools.ietf.org/html/rfc2616#section-14.14> > > Comments: > > - the first "MAY" seems to be useless and actually distracting ("may be > used", "can be used" or "is used" would be just fine) > > - "...when that entity is accessible from a location separate from the > requested resource's URI" -- can this be simplified to "when that entity > is accessible from a location separate from the request-URI"? Or am I > missing something here? > > - then it goes on saying server "SHOULD" return the header, but then > "SHOULD return especially" in some special cases -- but there was > already an unconditional SHOULD without that condition. > > Part of this confusion seems to be the result of trying to BCP14fy what > RFC2068 said (which had the first "SHOULD" in lower case). > > So, looking at RFC 2068: > > The Content-Location entity-header field may be used to supply the > resource location for the entity enclosed in the message. In the case > where a resource has multiple entities associated with it, and those > entities actually have separate locations by which they might be > individually accessed, the server should provide a Content-Location > for the particular variant which is returned. In addition, a server > SHOULD provide a Content-Location for the resource corresponding to > the response entity. -- > <http://tools.ietf.org/html/rfc2068#section-14.15> > > This looks a bit better, except for the last sentence: > > "In addition, a server SHOULD provide a Content-Location for the > resource corresponding to the response entity." > > ...which I frankly do not understand -- what does it say what hasn't > been said before? > > So if I had to rewrite this I would make it just: > > The Content-Location entity-header field may be used to supply the > resource location for the entity enclosed in the message. In the case > where a resource has multiple entities associated with it, and those > entities actually have separate locations by which they might be > individually accessed, the server SHOULD provide a Content-Location > for the particular variant which is returned. > > (BCP14fying the should, dropping the last sentence) > > Feedback appreciated, > > Julian > > > > >
Received on Sunday, 27 September 2009 12:09:00 UTC