An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket
Draft of message to be sent after approval:
From: The IESG <firstname.lastname@example.org> To: IETF-Announce <email@example.com> Cc: RFC Editor <firstname.lastname@example.org>, xmpp mailing list <email@example.com>, xmpp chair <firstname.lastname@example.org> Subject: Protocol Action: 'An XMPP Sub-protocol for WebSocket' to Proposed Standard (draft-ietf-xmpp-websocket-10.txt) The IESG has approved the following document: - 'An XMPP Sub-protocol for WebSocket' (draft-ietf-xmpp-websocket-10.txt) as Proposed Standard This document is the product of the Extensible Messaging and Presence Protocol Working Group. The IESG contact persons are Richard Barnes and Alissa Cooper. A URL of this Internet Draft is: http://datatracker.ietf.org/doc/draft-ietf-xmpp-websocket/
Technical Summary: This document defines a binding for the XMPP protocol over a WebSocket transport layer. A WebSocket binding for XMPP provides higher performance than BOSH, the current HTTP binding for XMPP (which uses HTTP long polling). Working Group Summary: Work on a WebSocket binding for XMPP began in 2010 with the first version of draft-moffitt-xmpp-over-websocket and related code in several XMPP projects. Since then, implementation and deployment experience has led to several changes, most notably: a. An explicit framing mechanism for opening and closing XMPP steams over the WebSocket binding using complete XML elements, instead of the opening and closing <stream> and </stream> tags as in the TCP binding specified in RFC 6120. b. An HTTP-based discovery mechanism using Web Host Metadata (RFC 6145) and Web Linking (RFC 5988) with a link relation type of "urn:xmpp:alt-connections:websocket" consistent with the Alternative XMPP Connection Methods specification (XEP-0156) produced by the XMPP Standards Foundation. The framing mechanism has been a matter, not exactly of controversy, but at least of discussion. The approach settled on in version -01 of this document (using complete XML elements instead of opening and closing tags) gained favor among implementers because it is simpler to code for the target audience of web developers. Once agreement was reached on this approach, almost all of the server and client implementations were quickly updated to follow draft-ietf-xmpp-websocket-01. (There are at least 6 implementations of this specification.) Although the document has not generated a great deal of traffic on the XMPP WG mailing list, discussion at IETF 88 (Vancouver) and afterward among implementers at XMPP Summit 15 (Brussels) was robust, and further reviews and revisions occurred soon after IETF 89 (London). Version 07 of the document incorporates all of the feedback receieved during those discussions. Personnel: Who is the Document Shepherd? Peter Saint-Andre Who is the Responsible Area Director? Richard Barnes.