Re: Implied LWS questions

Julian Reschke wrote:
 
>    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.

An 822-parser would "see" any <specials> including ".", but 
not "/".  Based on that the old syntax could be misleading,
how about this:

| HTTP-Version   = ( "HTTP/" 1*DIGIT "." 1*DIGIT" ) / obs-version
|
| obs-version    = "HTTP/" 1*DIGIT *WSP "." *WSP 1*DIGIT

No *WSP before or after the slash.  IIRC we already agreed
that there can't be any folding, otherwise LWS would result
in [FWS] instead of *WSP.

Please don't say *LWS, more than one adjacent LWS makes no
sense.  A single LWS already allows multiple line foldings,
a *LWS buys you nothing apart from confusing readers... :-)

> the specification imports BNF rules from RFC2396:

RFC 3986 has an appendix with translations of old constructs. 
 
> does http-URL allow *LWS anywhere?

No, RFC 2396 has no #-LWS horrors, and STD 66 is anyway clean.
RFC 2616 didn't introduce LWS in RFC 2396 http URIs <shudder />

 Frank

Received on Friday, 6 June 2008 15:31:19 UTC