Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)
RFC 5122

Document Type RFC - Proposed Standard (February 2008; No errata)
Obsoletes RFC 4622
Was draft-saintandre-rfc4622bis (individual in app area)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 5122 (Proposed Standard)
Telechat date
Responsible AD Lisa Dusseault
Send notices to stpeter@jabber.org
Network Working Group                                     P. Saint-Andre
Request for Comments: 5122                                           XSF
Obsoletes: 4622                                            February 2008
Category: Standards Track

           Internationalized Resource Identifiers (IRIs) and
                Uniform Resource Identifiers (URIs) for
         the Extensible Messaging and Presence Protocol (XMPP)

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This document defines the use of Internationalized Resource
   Identifiers (IRIs) and Uniform Resource Identifiers (URIs) in
   identifying or interacting with entities that can communicate via the
   Extensible Messaging and Presence Protocol (XMPP).

   This document obsoletes RFC 4622.

Saint-Andre                 Standards Track                     [Page 1]
RFC 5122                     XMPP IRIs/URIs                February 2008

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Use of XMPP IRIs and URIs  . . . . . . . . . . . . . . . . . .  4
     2.1.  Rationale  . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.2.  Form . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     2.3.  Authority Component  . . . . . . . . . . . . . . . . . . .  6
     2.4.  Path Component . . . . . . . . . . . . . . . . . . . . . .  7
     2.5.  Query Component  . . . . . . . . . . . . . . . . . . . . .  8
     2.6.  Fragment Identifier Component  . . . . . . . . . . . . . .  9
     2.7.  Generation of XMPP IRIs/URIs . . . . . . . . . . . . . . . 10
     2.8.  Processing of XMPP IRIs/URIs . . . . . . . . . . . . . . . 13
     2.9.  Internationalization . . . . . . . . . . . . . . . . . . . 16
   3.  IANA Registration of xmpp URI Scheme . . . . . . . . . . . . . 16
     3.1.  URI Scheme Name  . . . . . . . . . . . . . . . . . . . . . 16
     3.2.  Status . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     3.3.  URI Scheme Syntax  . . . . . . . . . . . . . . . . . . . . 17
     3.4.  URI Scheme Semantics . . . . . . . . . . . . . . . . . . . 17
     3.5.  Encoding Considerations  . . . . . . . . . . . . . . . . . 17
     3.6.  Applications/Protocols That Use This URI Scheme Name . . . 18
     3.7.  Interoperability Considerations  . . . . . . . . . . . . . 18
     3.8.  Security Considerations  . . . . . . . . . . . . . . . . . 18
     3.9.  Contact  . . . . . . . . . . . . . . . . . . . . . . . . . 18
     3.10. Author/Change Controller . . . . . . . . . . . . . . . . . 18
     3.11. References . . . . . . . . . . . . . . . . . . . . . . . . 18
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 18
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 19
     5.1.  Reliability and Consistency  . . . . . . . . . . . . . . . 19
     5.2.  Malicious Construction . . . . . . . . . . . . . . . . . . 20
     5.3.  Back-End Transcoding . . . . . . . . . . . . . . . . . . . 20
     5.4.  Sensitive Information  . . . . . . . . . . . . . . . . . . 20
     5.5.  Semantic Attacks . . . . . . . . . . . . . . . . . . . . . 21
     5.6.  Spoofing . . . . . . . . . . . . . . . . . . . . . . . . . 21
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 21
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 21
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 22
   Appendix A.  Differences from RFC 4622 . . . . . . . . . . . . . . 25
   Appendix B.  Copying Conditions  . . . . . . . . . . . . . . . . . 25

Saint-Andre                 Standards Track                     [Page 2]
RFC 5122                     XMPP IRIs/URIs                February 2008

1.  Introduction

   The Extensible Messaging and Presence Protocol (XMPP) is a streaming
   XML technology that enables any two entities on a network to exchange
   well-defined but extensible XML elements (called "XML stanzas") at a
   rate close to real time.

   As specified in [XMPP-CORE], entity addresses as used in
   communications over an XMPP network must not be prepended with a
   Uniform Resource Identifier (URI) scheme (as specified in [URI]).
   However, applications external to an XMPP network may need to
   identify XMPP entities either as URIs or, in a more modern fashion,
Show full document text