Ian Hickson wrote: > I think it's important for this technology to be usable by authors as soon > as browsers support it; in the case of WebSocket this means not requiring > that HTTP servers be upgraded, which can take a long time. There are still > many Web hosts using Apache 1.3, for instance. WebSocket is intended to be > usable by anyone who can open a Unix socket, which is more or less anyone > who can write a CGI script today. and > WebSocket isn't intended to be related to HTTP at all (though it has > handshake that appears like HTTP and can therefore share a port with > an HTTP server). When it shares a port with an HTTP server, you're going to need the HTTP server to accept WebSocket (non-HTTP) traffic and forward it to the WS server, or have the WS server forward HTTP traffic to the HTTP server. Having the HTTP server forward WebSocket traffic would require upgrading the HTTP server, as WebSocket protocol is not compatible with HTTP. But you said that must not be required, so the only way to do it is forwarding everything through a WebSocket->HTTP proxy. Which is a good idea anyway (see cometd and optimal high-load Comet architectures), but doesn't sit well with the notion of implementing WebSocket casually. Secondly, sharing port 80 is going to hit HTTP proxies, low-timeout NATs, mobile IP connection drops, and HTTP-filtering firewalls. It's the port 80 issues - HTTP proxies, filters and spontaneous connection drops - which I think of when I say that a real implementation intended for the larger Web is not trivial. Whether the tricky things are dealt with in WebSockets itself, or in client applications written by people who only fix what they react to, and thereby provide a low quality / broken experience for everyone behind a low quality web connection. I favour infrastructure which makes that less likely, rather than more. I don't think of server scalability as a problem, which is a relatively easy with modern libraries and frameworks. I was surprised you mentioned it. -- Jamie
Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.