Anne van Kesteren

The WebSocket Protocol

Desktop just released Opera 10.70 build 9067 which includes support for WebSockets and Server-Sent Events (EventSource). Simon Pieters and I also wrote blog posts for this release to explain WebSockets in Opera and The long journey of Server-Sent Events.

Server-Sent Events is a stable feature at this point. The WebSocket API is too. The WebSocket Protocol is unclear. Opera implements what is known as the -76 version of the WebSocket Protocol, following Chrome 6 and betas of Firefox 4. Safari supports -76 since Safari 5.0.2.

The WebSocket Protocol was initially developed by the WHATWG as part of HTML5 and then it moved to the IETF HyBi WG. Since not everyone was happy with the protocol a plan was set out a couple of months ago to come up with a better base protocol in four weeks so all vendors could quickly update their implementations before we got stuck — after a feature has been deployed by multiple vendors in interoperable fashion it becomes very hard to change course. This never happened. Updates have been published, but nothing concrete yet and with the discussions that are currently ongoing it does not seem like anything conclusive will arrive soon either. It will be interesting to see if we ever do get rid of -76.