The WebSockets prototype has been updated on our HTML5 Labs site, bringing the implementation in line with the recently released WebSockets 07 Protocol Specification.
This latest release updates both the server and client prototype implementations based on 07 specification. The majority of the changes in this update are around client-to-server masking.
In the WebSockets 06 Protocol Specification, the entire frame was masked using the 32-bit masking-key, which appeared before the frame. Now, in the 07 protocol spec, only data following opcode and length are masked, again using the 32-bit masking-key that appears after opcode and length.
We are also hosting a WebSocket endpoint, which implements the proposed IETF interop tests, which are defined here. You can find the WebSocket endpoint here: ws://html5labs.cloudapp.net:4502/interoptests.
In addition, our client and server implementations continue to be interoperable with Firefox and Jetty (an open source project providing an HTTP server, HTTP client, and javax.servlet container, developed by the Eclipse community.)
This prototype forms part of our HTML5 Labs Web site, a place where we prototype early and not yet fully stable drafts of specifications developed by the W3C and other standard organizations. The WebSocket API is currently being standardized by the W3C and the WebSocket protocol is being standardized by the IETF.
Building these prototypes in a timely manner will also help us have informed discussions with developer communities, and give implementation experience with the draft specifications that will generate feedback to improve the eventual standards.
This is the fourth update to our WebSockets prototype since it was released on the HTML5 Labs site in December, the IndexedDB prototype has been updated to bring it in line with the latest version of the specification, and we recently added a new WebSockets demo.
We anticipate further HTML5 Labs prototypes of WebSockets when the current Last Call review is completed and an updated draft comes out. We will also update the prototype when the W3C Web Applications Working Group updates the API specification to reflect the resolution of a currently open bug. There appears to be an emerging consensus in the discussion and we expect an update of the editor’s draft soon.
Coming next is the Media Capture API prototype, a draft specification that defines HTML form enhancements to provide access to the audio, image and video capture capabilities of a device.
The first release of the prototype includes Audio capabilities only, but we plan to add video support shortly after the release of the first version.
So, stay tuned for the Media Capture prototype and other new ones that we are working on right now.
Principal Program Manager, Interoperability Strategy Team