- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Fri, 06 Jun 2008 16:18:05 +0200
- To: HTTP Working Group <ietf-http-wg@w3.org>
<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#implied.LWS>: "The grammar described by this specification is word-based. Except where noted otherwise, linear white space (LWS) can be included between any two adjacent words (token or quoted-string), and between adjacent words and separators, without changing the interpretation of a field. At least one delimiter (LWS and/or separators) MUST exist between any two tokens (for the definition of "token" below), since they would otherwise be interpreted as a single token." <http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#rfc.section.3.1> "The version of an HTTP message is indicated by an HTTP-Version field in the first line of the message. HTTP-Version is case-sensitive. HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT" So, do "HTTP" and "/" qualify as instances of quoted-string? What about 1*DIGIT? That's definitively not a quoted string, but it could be parsed as token. So, after applying the implied LWS rule, what is the ABNF for HTTP-Version? 1) HTTP-Version = "HTTP" *LWS "/" *LWS 1*DIGIT *LWS "." *LWS 1*DIGIT or 2) HTTP-Version = "HTTP" *LWS "/" 1*DIGIT "." 1*DIGIT Looking futher down... In <http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-latest.html#rfc.section.3.2>, the specification imports BNF rules from RFC2396: absoluteURI = <absoluteURI, defined in [RFC2396], Section 3> authority = <authority, defined in [RFC2396], Section 3.2> fragment = <fragment, defined in [RFC2396], Section 4.1> path-absolute = <abs_path, defined in [RFC2396], Section 3> port = <port, defined in [RFC2396], Section 3.2.2> query = <query, defined in [RFC2396], Section 3.4> relativeURI = <relativeURI, defined in [RFC2396], Section 5> uri-host = <host, defined in [RFC2396], Section 3.2.2> ... http-URL = "http:" "//" uri-host [ ":" port ] [ path-absolute [ "?" query ]] So, does http-URL allow *LWS anywhere? It's certainly not supposed to, but I think the rules allow is between "http:" and "//". I'd really like to make progress on the ABNF thingy, and thus get rid of the implied LWS rule, but I'm not totally sure how to proceed? (I came here because I attempted mechanical conversion, which led to these questions). BR, Julian
Received on Friday, 6 June 2008 14:18:51 UTC