Ровно год назад, 9 декабря 2009, разработчики Google Chrome взбудоражили общественность,
объявив внедрение поддержки
веб-сокетов в будущих версиях Chrome. О том, что такое Web Sockets и что это дает, см. почти годовалый
пост на хабре.
Веб-сокеты — это, действительно, вкусно.
С точки зрения веб-стандартов, Web Sockets — это
отдельная спецификация, вынесенная из спецификации HTML5 еще весной 2009 для дальнейшей проработки внутри рабочей группы по веб-приложениям (WebApps WG). В настоящий момент документ находится в состоянии Working Draft.
Интересной особенность веб-сокетов является то, что это не просто API в браузере: механизм работы веб-сокетов завязывается на соответствующий протокол —
WebSocket Protocol,
разрабатываемый в рамках IETF, и требует соответствующей поддержки со стороны сервера. Текущая редакция драфта – 03 (17 октября), до этого было еще 76 ревизий. С последней в начале лета была неприятная история, когда новая ревизия
оказалась несовместимой со старой.
Поддержка веб-сокетов была заявлена в Chrome и Safari, а также, насколько я понимаю, должна была быть доступна в предварительных версиях Opera 10.70-11 и Firefox 4b. (Ок, очевидно, что IE9 в этом списке нет, однако, справедливости ради: разработчики не раз заявляли, что в первую очередь внедряют стабильные и устояшиеся вещи, которые не приведут к обратным несовместимостям через несколько месяцев.)
Протокол, равно как и стандарт, все еще дорабатывается. И на самом деле хорошо, что его вынесли из HTML5, так как это позволяет отдельно прорабатывать и стабилизировать независимые куски, а не смешивать в одну кучу разметку и API для веб-приложений на JavaScript.