<span class="Apple-style-span" style="-webkit-text-stroke: none; -webkit-transform-origin-z: 0px; -webkit-transform-style: 50%; ">On Mon, Dec 7, 2009 at 7:25 PM, Ian Hickson <span dir="ltr"><<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>></span> wrote:</span><br>

<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Mon, 7 Dec 2009, Fumitoshi Ukai (�µ~\飼æ~V~Gæ~U~O) wrote:<br>
</div><div class="im">> On Mon, Dec 7, 2009 at 5:05 PM, Ian Hickson <<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>> wrote:<br>
> > On Mon, 7 Dec 2009, Fumitoshi Ukai (榈~\椋兼~V~G鎫U~O) wrote:<br>
> > > > > ><br>
> > > > > > Control characters are allowed (though using them would be<br>
> > > > > > silly).<br>
> > > > ><br>
> > > > > Why are control characters (except LF and CR) allowed?<br>
> > > ><br>
> > > > There doesn't seem to be a good reason to exclude them, and<br>
> > > > excluding them would lead to a more complicated processing model.<br>
> > ><br>
> > > In HTTP, field-content is TEXT or combinations of token, separators,<br>
> > > and quoted-string. TEXT, or token, separators excludes CTLs. So, we<br>
> > > must use quoted-string in WebSocket-Protocol: if protocol contains<br>
> > > CTLs?<br>
> ><br>
> > Oh, I forgot that HTTP had the no-CTL restriction. Good point. I've<br>
> > updated the spec to be consistent with this.<br>
><br>
> In "The Web Sockets API", could you fix the following statement?<br>
>   The second, protocol, if present, specifies a sub-protocol that the server<br>
> must support for the connection to be successful. The sub-protocol name must<br>
> be an ASCII string with no U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN<br>
> (CR) characters in it.<br>
<br>
</div>Fixed, thanks.<br>
<div class="im"><br>
<br>
> IIRC, in old spec draft, protocol should not be an empty string, but<br>
> current spec draft accepts it?<br>
<br>
</div>Man, I'm just incompetent today. Sorry about that. Fixed.<br></blockquote><div><br></div><div>Thanks!</div><div><br></div><div>protocol now accepts U+0020. Is it ok to use U+0020 only in /protocol/ ? (e.g. new WebSocket("ws://<a href="http://example.com/">example.com/</a>", " "); )</div>

<div>It seems space is optional after colon in field of handshake message, how can we distinguish U+0020 and U+0020 U+0020 ?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<div class="im"><br>
<br>
> > > And, why is it limited to ASCII instead of UTF-8?<br>
> ><br>
> > Because the HTTP working group refuse to allow UTF-8 in HTTP headers<br>
> > for reasons that I don't really understand, and the handshake is<br>
> > supposed to be valid HTTP.<br>
><br>
> Hmm, then it should be mentioned in The Web Socket protocol 1.2 Protocol<br>
> overview? It looks websocket message accept UTF-8 in handshake message.<br>
<br>
</div>There should be no way to _send_ UTF-8 in the handshake at this point,<br>
given the requirements in the spec, but once you _receive_ the handshake,<br>
it's no longer HTTP, it's just WebSocket, so you can use UTF-8 fine. (In<br>
practice it doesn't mean much, since there's nothing in the<br>
server-to-client handshake other than the client-to-server handshake, so<br>
if there ever was UTF-8 in the server-to-client handshake, it would either<br>
be ignored, or the connection would be dropped, depending on where exactly<br>
the UTF-8 was found.)<br></blockquote><div><br></div><div>Ok. I see.</div><div><span class="Apple-style-span" style="-webkit-text-stroke: none; -webkit-transform-origin-z: 0px; -webkit-transform-style: 50%; "> </span></div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
HTH,<br>
<font color="#888888">--<br>
</font><div><div></div><div class="h5">Ian Hickson               U+1047E                )\._.,--....,'``.    fL<br>
<a href="http://ln.hixie.ch/" target="_blank">http://ln.hixie.ch/</a>       U+263A                /,   _.. \   _\  ;`._ ,.<br>
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'</div></div></blockquote></div><br>