Subject: Implicit *LWS

From: Geoffrey Sneddon <[email-masked]>
Date: Mon, 7 Apr 2008 13:47:52 +0100

Hi,

Over the past few days I've been looking over RFC2616, and I've found  
implicit *LWS to be very troublesome. Is this planned to be got rid of  
when moving to ABNF?

- It is defined as being between words and words, or words and  
separators, but it never defines what a word or a separator is. Is  
token a word? Is "foo" a word? Is "/" a separator?
- There are all kinds of places where I think it is allowed (pending  
the above) where it really shouldn't be. As far as I can see, CRLF =  
CR *LWS LF (where the *LWS is implicit).
- I assume it should be disallowed in http_URL (regardless of the  
above).

There are things like this throughout the specification, and for that  
reason, I'd much prefer to see implicit *LWS got rid of, and it  
explicitly defined where it is allowed. Sure, it means having *LWS all  
over the place, but at least it is unambiguous.

--
Geoffrey Sneddon
<http://gsnedders.com/>

---

From: Henrik Nordstrom <[email-masked]>
Date: Mon, 07 Apr 2008 17:41:51 +0200

> implicit *LWS to be very troublesome. Is this planned to be got rid of  

Yes, it's one of the changes on the ABNF table..

> token a word? Is "foo" a word? Is "/" a separator?

The same paragraph defines word as "token or quoted-string", kind of..

separators is defined, but does not really match actual use..

> CR *LWS LF (where the *LWS is implicit).

How? Neither CR or LF is a word/token/quoted-string...

> over the place, but at least it is unambiguous.

Yes.

Regards
Henrik

---

From: Geoffrey Sneddon <[email-masked]>
Date: Mon, 7 Apr 2008 19:08:59 +0100

> Yes, it's one of the changes on the ABNF table..

That's what I was hoping. :)

> The same paragraph defines word as "token or quoted-string", kind of..

That's not clear whether that is a formal definition or an informative  
example of what counts as words. In the real world, it seems to be  
more than that. It appears whitespace is allowed within HTTP-Version,  
for example.

> separators is defined, but does not really match actual use..

So it is just meant to be the separators rule? Ah.

> How? Neither CR or LF is a word/token/quoted-string...

Well, that is only worthwhile discussing once we know what a word is,  
and under what you're pointing at, it isn't.

--
Geoffrey Sneddon
<http://gsnedders.com/>