Shepherd writeup for draft-ietf-xmpp-websocket-07
The document shepherd is Peter Saint-Andre.
The responsible Area Director is Richard Barnes.
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).
The requested publication type is Proposed Standard because the
technology is now ready for wider implementation and deployment,
as well as interoperability testing.
2. Review and Consensus
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
3. Intellectual Property
All three authors have confirmed that they are not personally aware of
any IPR related to this specification.
4. Other Points
The IANA Considerations section registers a WebSocket sub-protocol name
and a URN sub-namespace; both of these registries have a policy of First
Come First Served (see RFC 6455 and RFC 3688).