- From: Jo Rabin <jrabin@mtld.mobi>
- Date: Wed, 23 May 2007 16:24:06 +0100
- To: "Sean Owen" <srowen@google.com>
- Cc: <public-mobileok-checker@w3.org>
"I don't disagree" (TM) however in the context of normalizing order one would also have to consider ordering of elements within the header field and the order of parameters within elements. For example: Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5 the elements could be in any other order and be just as sweet. Whether this is true in general I don't know as I have only got as far as 'c' in the header name list. This is not true of the parameters though, if I have understood the spec, in that the parameter(s) (by which they mean the media range parameters specified somewhere else) precede the q= which precedes any accept-extension. Whatever that is (Other than an x=y construct). Accept = "Accept" ":" #( media-range [ accept-params ] ) media-range = ( "*/*" | ( type "/" "*" ) | ( type "/" subtype ) ) *( ";" parameter ) accept-params = ";" "q" "=" qvalue *( accept-extension ) accept-extension = ";" token [ "=" ( token | quoted-string ) ] So, ref normalization of order, I think we can safely sort headers (as long as we preserve the original order of headers with the same name normalized for case). I don't know, but I expect we can sort elements - though whether this should be lexical ordering or preference ordering followed by lexical ordering, is probably an exercise for the student. And I am worried that RFC 2616 says that the ordering of headers of the same name _is_ significant because of wishing to be able to reconstruct a single header of that name, so that throws this assumption into doubt. In general I don't think we can order parameters, though in many cases the order is not significant. All of which leads me to conclude that diffing results documents may not be a reliable way to determine whether the semantics are the same or not. However, it also leads me to ask whether a moki document will actually form part of that comparison? Surely we will be comparing the results format? If that is RDF then I suppose we will have to use an RDF tool to make the comparison? Now back to the Content-Encoding header. Jo > -----Original Message----- > From: Sean Owen [mailto:srowen@google.com] > Sent: 23 May 2007 15:24 > To: Jo Rabin > Cc: public-mobileok-checker@w3.org > Subject: Re: ACTION: The order of HTTP Headers > > On 5/23/07, Jo Rabin <jrabin@mtld.mobi> wrote: > > For moki, I would prefer to maintain the ordering as received. I'm not > > sure that this makes it either easier or harder select values ... > > > > e.g. //primaryDoc//HTTPResponse[last()]/header[@name="charlie"] does not > > depend on the ordering ... > > No but testing does. Now you can't merely diff two documents and tell > whether they are the same, because header ordering may cause spurious > differences. It's not impossible to rewrite the test code to parse all > this out and order it and compare, but, it's a fairly big jump in > complexity for no apparent benefit -- we do have the original response > recorded anyway, with ordering intact. We're normalizing away notably > more than the order already so I'm not seeing much of a downside to > ordering.
Received on Wednesday, 23 May 2007 15:24:17 UTC