- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 7 Dec 2009 10:25:09 +0000 (UTC)
On Mon, 7 Dec 2009, Fumitoshi Ukai (??~\????~V~G?~U~O) wrote: > On Mon, Dec 7, 2009 at 5:05 PM, Ian Hickson <ian at hixie.ch> wrote: > > On Mon, 7 Dec 2009, Fumitoshi Ukai (???~\??????~V~G???U~O) wrote: > > > > > > > > > > > > Control characters are allowed (though using them would be > > > > > > silly). > > > > > > > > > > Why are control characters (except LF and CR) allowed? > > > > > > > > There doesn't seem to be a good reason to exclude them, and > > > > excluding them would lead to a more complicated processing model. > > > > > > In HTTP, field-content is TEXT or combinations of token, separators, > > > and quoted-string. TEXT, or token, separators excludes CTLs. So, we > > > must use quoted-string in WebSocket-Protocol: if protocol contains > > > CTLs? > > > > Oh, I forgot that HTTP had the no-CTL restriction. Good point. I've > > updated the spec to be consistent with this. > > In "The Web Sockets API", could you fix the following statement? > The second, protocol, if present, specifies a sub-protocol that the server > must support for the connection to be successful. The sub-protocol name must > be an ASCII string with no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN > (CR) characters in it. Fixed, thanks. > IIRC, in old spec draft, protocol should not be an empty string, but > current spec draft accepts it? Man, I'm just incompetent today. Sorry about that. Fixed. > > > And, why is it limited to ASCII instead of UTF-8? > > > > Because the HTTP working group refuse to allow UTF-8 in HTTP headers > > for reasons that I don't really understand, and the handshake is > > supposed to be valid HTTP. > > Hmm, then it should be mentioned in The Web Socket protocol 1.2 Protocol > overview? It looks websocket message accept UTF-8 in handshake message. There should be no way to _send_ UTF-8 in the handshake at this point, given the requirements in the spec, but once you _receive_ the handshake, it's no longer HTTP, it's just WebSocket, so you can use UTF-8 fine. (In practice it doesn't mean much, since there's nothing in the server-to-client handshake other than the client-to-server handshake, so if there ever was UTF-8 in the server-to-client handshake, it would either be ignored, or the connection would be dropped, depending on where exactly the UTF-8 was found.) HTH, -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 7 December 2009 02:25:09 UTC