XMPP is defined in a number of documents called specifications. These documents define the precise XML that is sent back and forth to complete all the use cases we’ve discussed in this book (and many more). The XMPP specifications contain many examples to help developers understand exactly how XMPP works, and would fill several books as long as this one if published all together. Here we provide a brief guide to these specifications, which are published in two series: several documents in the IETF’s Request for Comments (RFC) series, and a large and growing number of XMPP Extension Protocols in the XMPP Standards Foundation’s XEP series.
The IETF’s RFC series contains specifications that define most of the core technologies of the Internet, including the Internet Protocol (IP) itself, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Simple Mail Transfer Protocol (SMTP), Hypertext Transfer Protocol (HTTP), Session Initiation Protocol (SIP), and many others. In 2004, the IETF published two RFCs that define the basis for all XMPP technologies.
RFC 3920 defines XML streams along with all of the stream-level features required to build XMPP applications, including:
The basic XMPP architecture and address format
The use of Transmission Control Protocol (TCP) as the underlying transport for XMPP communications
The use of Transport Layer Security (TLS) for stream encryption
The use of Simple Authentication and Security Layer ...