- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Sun, 23 Oct 2005 14:43:07 +0200
- To: w3c-dist-auth@w3.org
Hi, I think there's an issue with the new If header syntax defined in RFC2518bis (<http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-07.html#rfc.section.9.5>), allowing comma separation and consequently multiple instances of "If" headers. In section 4.2, RFC2616 says (<http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.4.2.p.5>): "Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]." RFC2518bis currently defines the grammar below: If = "If" ":" ( 1*No-tag-list | 1*Tagged-list) No-tag-list = List Tagged-list = Resource 1*List Resource = Coded-URL List = #( "(" List | Clause ")" ) Clause = ["Not"] State-token | State-token State-token = Coded-URL | "[" entity-tag "]" Coded-URL = "<" absoluteURI ">" which clearly is different from what RFC2616 requires. It may be possible to fix this, but as nobody seems to have implemented this yet, we should also think about whether it's really needed: 1) Did we ever *see* an interop problem because of message header lengths? Was it ever reported to the mailing list? 2) If there is indeed a problem, is this about the total length of a single header, or the length of each individual line? I'm asking because it is possible to split a *single* request header across multiple lines already. Looking at <http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-07.html#rfc.section.9.5.2>: If: <http://www.example.com/resource1> (<locktoken:a-write-lock-token> [W/"A weak ETag"]), (["strong ETag"]), <http://www.bar.bar/random>(["another strong ETag"]) I think what we want is that this is the same thing as: If: <http://www.example.com/resource1> (<locktoken:a-write-lock-token> [W/"A weak ETag"]) If: (["strong ETag"]) If: <http://www.bar.bar/random>(["another strong ETag"]) Which could also be written as: If: <http://www.example.com/resource1> (<locktoken:a-write-lock-token> [W/"A weak ETag"]) (["strong ETag"]) <http://www.bar.bar/random>(["another strong ETag"]) today. Feedback appreciated, Julian
Received on Sunday, 23 October 2005 12:43:31 UTC