[webkit-dev] Implementing new WebSocket protocol

Yuta Kitamura yutak at chromium.org
Tue Jun 14 07:55:53 PDT 2011


Hello,

I would like to propose to start implementing the new WebSocket protocol
which is discussed in IETF HyBi working group.

Protocol draft:
http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-09
JavaScript API draft: http://dev.w3.org/html5/websockets/

The new protocol is *incompatible* with the old one we are currently
supporting. New additions include:
  - Binary frame support (Blob / ArrayBuffer)
  - Frame content masking (to solve security concern raised for the old
draft)
  - Protocol extensions (such as frame compression)

Because of the incompatibility, existing services using WebSockets are going
to break. However, I think this is a necessary cost we have to pay
eventually, because:
  - Other browsers are going to support the new protocol. (Firefox Aurora
already includes support for the new protocol.)
  - The earlier we switch the protocols, the smaller shock there will be.
Safari and Chrome are the only browsers that support WebSocket (the old
protocol) by default.
  - There is a security concern raised for the protocol we are currently
supporting.

* How to proceed

My original plan was to implement the new protocol directly (i.e. replacing
the old implementation in-place). However Alexey (ap) objected to dropping
support for the old protocol immediately.

So, I'm currently planning to add a runtime flag to switch the WebSocket
protocols used by a WebCore's WebSocket implementation. Other possibilities
are to add a compile-time flag or to use (subversion's) branch, which are
discussed at:
https://bugs.webkit.org/show_bug.cgi?id=60348

The discussion in this bug has been stalled for a while, but I really would
like to move forward. Comments and suggestions are greatly appreciated.

Regards,
Yuta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20110614/f9d02996/attachment.html>


More information about the webkit-dev mailing list