[要約] RFC 4622は、XMPPのための国際化されたリソース識別子(IRI)と統一リソース識別子(URI)に関する規格です。このRFCの目的は、XMPPプロトコルでの国際化とリソース識別子の使用をサポートすることです。
Network Working Group P. Saint-Andre Request for Comments: 4622 JSF Category: Standards Track July 2006
Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)
拡張可能なメッセージと存在プロトコル(XMPP)のための国際化されたリソース識別子(IRIS)およびユニフォームリソース識別子(URI)
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.
このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (2006).
Copyright(c)The Internet Society(2006)。
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).
このドキュメントでは、拡張可能なメッセージングおよびプレゼンスプロトコル(XMPP)を介して通信できるエンティティを識別または相互作用する際に、国際化されたリソース識別子(IRIS)および均一なリソース識別子(URI)の使用を定義します。
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 .......................................................4 2.3. Authority Component ........................................6 2.4. Path Component .............................................7 2.5. Query Component ............................................7 2.6. Fragment Identifier Component ..............................9 2.7. Generation of XMPP IRIs/URIs ...............................9 2.7.1. Generation Method ...................................9 2.7.2. Generation Notes ...................................10 2.7.3. Generation Example .................................11 2.8. Processing of XMPP IRIs/URIs ..............................12 2.8.1. Processing Method ..................................12 2.8.2. Processing Notes ...................................13 2.8.3. Processing Example .................................14 2.9. Internationalization ......................................14 3. IANA Registration of xmpp URI Scheme ...........................15 3.1. URI Scheme Name ...........................................15 3.2. Status ....................................................15 3.3. URI Scheme Syntax .........................................15 3.4. URI Scheme Semantics ......................................16 3.5. Encoding Considerations ...................................16 3.6. Applications/protocols That Use This URI Scheme Name ......16 3.7. Interoperability Considerations ...........................16 3.8. Security Considerations ...................................16 3.9. Contact ...................................................17 3.10. Author/Change Controller .................................17 3.11. References ...............................................17 4. IANA Considerations ............................................17 5. Security Considerations ........................................17 5.1. Reliability and Consistency ...............................17 5.2. Malicious Construction ....................................18 5.3. Back-End Transcoding ......................................18 5.4. Sensitive Information .....................................18 5.5. Semantic Attacks ..........................................19 5.6. Spoofing ..................................................19 6. References .....................................................20 6.1. Normative References ......................................20 6.2. Informative References ....................................20
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.
拡張可能なメッセージとプレゼンスプロトコル(XMPP)は、ネットワーク上の任意の2つのエンティティが明確に定義されているが拡張可能なXML要素(「XMLスタンザ」と呼ばれる)をリアルタイムに近いレートで交換できるようにするストリーミングXMLテクノロジーです。
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, as Internationalized Resource Identifiers (IRIs; see [IRI]). Examples of such external applications include databases that need to store XMPP addresses and non-native user agents such as web browsers and calendaring applications that provide interfaces to XMPP services.
[xmpp-core]で指定されているように、XMPPネットワークを介した通信で使用されるエンティティアドレスは、均一なリソース識別子(URI)スキーム([URI]で指定)で準備してはなりません。ただし、XMPPネットワークの外部アプリケーションは、XMPPエンティティをURISとして、またはより近代的な方法で、国際化されたリソース識別子(IRIS; [IRI]を参照)として識別する必要がある場合があります。このような外部アプリケーションの例には、XMPPアドレスを保存する必要があるデータベースと、XMPPサービスにインターフェイスを提供するWebブラウザーなどの非ネイティブユーザーエージェントが含まれます。
The format for an XMPP address is defined in [XMPP-CORE]. Such an address may contain nearly any [UNICODE] character and must adhere to various profiles of [STRINGPREP]. The result is that an XMPP address is fully internationalizable and is very close to being an IRI without a scheme. However, given that there is no freestanding registry of IRI schemes, it is necessary to define XMPP identifiers primarily as URIs rather than as IRIs, and to register an XMPP URI scheme instead of an IRI scheme. Therefore, this document does the following:
XMPPアドレスの形式は[XMPP-Core]で定義されています。このようなアドレスには、ほぼすべての[unicode]文字が含まれている場合があり、[stringprep]のさまざまなプロファイルを順守する必要があります。その結果、XMPPアドレスは完全に国際化可能であり、スキームのないIRIに非常に近いものです。ただし、IRIスキームの自立型レジストリがないことを考えると、XMPP識別子を主にIRISとしてではなくURIとして定義し、IRIスキームの代わりにXMPP URIスキームを登録する必要があります。したがって、このドキュメントは次のとおりです。
o Specifies how to identify XMPP entities as IRIs or URIs.
o XMPPエンティティをIRISまたはURIとして識別する方法を指定します。
o Specifies how to interact with XMPP entities as IRIs or URIs.
o IRISまたはURISとしてXMPPエンティティと対話する方法を指定します。
o Formally defines the syntax for XMPP IRIs and URIs.
o XMPP IRISおよびURISの構文を正式に定義します。
o Specifies how to transform XMPP IRIs into URIs and vice-versa.
o XMPP IrisをURISに変換する方法を指定し、その逆も指定します。
o Registers the xmpp URI scheme.
o
This document inherits terminology from [IRI], [URI], and [XMPP-CORE].
このドキュメントは、[IRI]、[URI]、および[XMPP-CORE]の用語を継承します。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [TERMS].
「必須」、「そうしない」、「必須」、「shall」、「shall "、" ingle "、" should "、" not "、" becommended "、" bay "、および「optional」は、RFC 2119 [用語]に記載されているように解釈される。
As described in [XMPP-IM], instant messaging and presence applications of XMPP must handle im: and pres: URIs (as specified by [CPIM] and [CPP]). However, there are many other applications of XMPP (including network management, workflow systems, generic publish-subscribe, remote procedure calls, content syndication, gaming, and middleware), and these applications do not implement instant messaging and presence semantics. Neither does a generic XMPP entity implement the semantics of any existing URI scheme, such as the http:, ftp:, or mailto: scheme. Therefore, it is appropriate to define a new URI scheme that makes it possible to identify or interact with any XMPP entity (not just instant messaging and presence entities) as an IRI or URI.
[XMPP-IM]で説明されているように、XMPPのインスタントメッセージングと存在アプリケーションは、IM:およびpres:uris([cpim]および[cpp]で指定)を処理する必要があります。ただし、XMPPには他にも多くのアプリケーションがあり(ネットワーク管理、ワークフローシステム、一般的なパブリッシュサブスクライブ、リモートプロシージャコール、コンテンツシンジケーション、ゲーム、およびミドルウェア)、これらのアプリケーションはインスタントメッセージングと存在セマンティクスを実装していません。汎用XMPPエンティティは、http:、ftp:、またはmailto:スキームなど、既存のURIスキームのセマンティクスを実装しません。したがって、XMPPエンティティ(インスタントメッセージングおよび存在エンティティだけでなく)をIRIまたはURIとして識別または相互作用させることを可能にする新しいURIスキームを定義することが適切です。
XMPP IRIs and URIs are defined for use by non-native interfaces and applications, and primarily for the purpose of identification rather than of interaction (on the latter distinction, see Section 1.2.2 of [URI]). In order to ensure interoperability on XMPP networks, when data is routed to an XMPP entity (e.g., when an XMPP address is contained in the 'to' or 'from' attribute of an XML stanza) or an XMPP entity is otherwise identified in standard XMPP protocol elements, the entity MUST be addressed as <[node@]domain[/resource]> (i.e., without a prepended scheme), where the "node identifier", "domain identifier", and "resource identifier" portions of an XMPP address conform to the definitions provided in Section 3 of [XMPP-CORE].
XMPP IRISおよびURIは、非ネイティブインターフェイスとアプリケーションで使用するために定義されており、主に相互作用ではなく識別を目的としています(後者の区別については、[URI]のセクション1.2.2を参照)。XMPPネットワークでの相互運用性を確保するために、データがXMPPエンティティにルーティングされる場合(たとえば、XMPPアドレスがXMLスタンザの「to」または '属性に含まれる場合)またはXMPPエンティティが標準で識別される場合(例:XMPPプロトコル要素、エンティティは、「ノード識別子」、「ドメイン識別子」、および「リソース識別子」部分が、<[node@] domain [/resource]>(つまり、準備されたスキームなし)としてアドレス指定する必要があります。XMPPアドレスは、[XMPP-Core]のセクション3で提供されている定義に準拠しています。
(Note: For historical reasons, the term "resource identifier" is used in XMPP to refer to the optional portion of an XMPP address that follows the domain identifier and the "/" separator character (for details, refer to Section 3.4 of [XMPP-CORE]; this use of the term "resource identifier" is not to be confused with the meanings of "resource" and "identifier" provided in Section 1.1 of [URI]).
(注:歴史的な理由から、「リソース識別子」という用語はXMPPで使用され、ドメイン識別子と「/」セパレーター文字に続くXMPPアドレスのオプション部分を参照します(詳細については、[XMPPのセクション3.4を参照してください。-core];「リソース識別子」という用語のこの使用は、[uri]のセクション1.1に記載されている「リソース」および「識別子」の意味と混同しないでください。
As described in [XMPP-CORE], an XMPP address used natively on an XMPP network is a string of Unicode characters that (1) conforms to a certain set of [STRINGPREP] profiles and [IDNA] restrictions, (2) follows a certain set of syntax rules, and (3) is encoded as [UTF-8]. The form of such an address can be represented using Augmented Backus-Naur Form ([ABNF]) as:
[xmpp-core]で説明されているように、xmppネットワークでネイティブに使用されるxmppアドレスは、(1)の[stringprep]プロファイルの特定のセットに適合し、[idna]制限に準拠しているユニコード文字の文字列です。構文ルールのセット、および(3)は[UTF-8]としてエンコードされます。このようなアドレスの形式は、次のように拡張されたバックスノーフォーム([abnf])を使用して表現できます。
[ node "@" ] domain [ "/" resource ]
[node "@"]ドメイン["/"リソース]
In this context, the "node" and "resource" rules rely on distinct profiles of [STRINGPREP], and the "domain" rule relies on the concept of an internationalized domain name as described in [IDNA]. (Note: There is no need to refer to punycode in the IRI syntax itself, since any punycode representation would occur only inside an XMPP application in order to represent internationalized domain names. However, it is the responsibility of the processing application to convert [IRI] syntax into [IDNA] syntax before addressing XML stanzas to the specified entity on an XMPP network.)
Naturally, in order to be converted into an IRI or URI, an XMPP address must be prepended with a scheme (specifically, the xmpp scheme) and may also need to undergo transformations that adhere to the rules defined in [IRI] and [URI]. Furthermore, in order to enable more advanced interaction with an XMPP entity rather than simple identification, it is desirable to take advantage of additional aspects of URI syntax and semantics, such as authority components, query components, and fragment identifier components.
Therefore, the ABNF syntax for an XMPP IRI is defined as shown below using Augmented Backus-Naur Form specified by [ABNF], where the "ifragment", "ihost", and "iunreserved" rules are defined in [IRI], the "pct-encoded" rule is defined in [URI], and DQUOTE is defined in [ABNF]:
したがって、XMPP IRIのABNF構文は、[ABNF]によって指定された拡張されたバックスNAUR形式を使用して以下に示すように定義されます。ここで、「ifragment」、「ihost」、および「iunreserved」ルールは[iri]、the」で定義されています。PCTエンコード "ルールは[uri]で定義され、dquoteは[abnf]で定義されています。
xmppiri = "xmpp" ":" ihierxmpp [ "?" iquerycomp ] [ "#" ifragment ] ihierxmpp = iauthpath / ipathxmpp iauthpath = "//" iauthxmpp [ "/" ipathxmpp ] iauthxmpp = inodeid "@" ihost ipathxmpp = [ inodeid "@" ] ihost [ "/" iresid ] inodeid = *( iunreserved / pct-encoded / nodeallow ) nodeallow = "!" / "$" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "[" / "\" / "]" / "^" / "`" / "{" / "|" / "}" iresid = *( iunreserved / pct-encoded / resallow ) resallow = "!" / DQUOTE / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ":" / ";" / "<" / "=" / ">" / "[" / "\" / "]" / "^" / "`" / "{" / "|" / "}" iquerycomp = iquerytype [ *ipair ] iquerytype = *iunreserved ipair = ";" ikey "=" ivalue ikey = *iunreserved ivalue = *( iunreserved / pct-encoded )
However, the foregoing syntax is not appropriate for inclusion in the registration of the xmpp URI scheme, since the IANA recognizes only URI schemes and not IRI schemes. Therefore, the ABNF syntax for an XMPP URI rather than for IRI is defined as shown in Section 3.3 of this document (see below under "IANA Registration"). If it is necessary to convert the IRI syntax into URI syntax, an application MUST adhere to the mapping procedure specified in Section 3.1 of [IRI].
ただし、IANAはIRIスキームではなくURIスキームのみを認識しているため、前述の構文はXMPP URIスキームの登録に含めるのに適していません。したがって、IRIではなくXMPP URIのABNF構文は、このドキュメントのセクション3.3に示すように定義されています(以下の「IANA登録」を参照)。IRI構文をURI構文に変換する必要がある場合、アプリケーションは[IRI]のセクション3.1で指定されたマッピング手順に付着する必要があります。
The following is an example of a basic XMPP IRI/URI used for purposes of identifying a node associated with an XMPP server:
以下は、XMPPサーバーに関連付けられているノードを識別するために使用される基本的なXMPP IRI/URIの例です。
xmpp:node@example.com
XMPP:node@example.com
Descriptions of the various components of an XMPP IRI/URI are provided in the following sections.
XMPP IRI/URIのさまざまなコンポーネントの説明は、次のセクションに記載されています。
As explained in Section 2.8 of this document, in the absence of an authority component, the processing application would authenticate as a configured user at a configured XMPP server. That is, the authority component section is unnecessary and should be ignored if the processing application has been configured with a set of default credentials.
In accordance with Section 3.2 of RFC 3986, the authority component is preceded by a double slash ("//") and is terminated by the next slash ("/"), question mark ("?"), or number sign ("#") character, or by the end of the IRI/URI. As explained more fully in Section 2.8.1 of this document, the presence of an authority component signals the processing application to authenticate as the node@domain specified in the authority component rather than as a configured node@domain (see the Security Considerations section of this document regarding authentication). (While it is unlikely that the authority component will be included in most XMPP IRIs or URIs, the scheme allows for its inclusion, if appropriate.) Thus, the following XMPP IRI/URI indicates to authenticate as "guest@example.com":
RFC 3986のセクション3.2に従って、権限コンポーネントの前に二重スラッシュ( "//")が先行し、次のスラッシュ( "/")、質問マーク( "?")、またはnumber sign( "が終了します。# ")キャラクター、またはIRI/URIの終わりまでに。このドキュメントのセクション2.8.1でより完全に説明されているように、権限コンポーネントの存在は、設定されたnode@ドメインとしてではなく、機関コンポーネントで指定されたノード@ドメインとして認証するための処理アプリケーションを信号します(セキュリティに関する考慮事項セクションセクションを参照してください。認証に関するこのドキュメント)。(当局コンポーネントがほとんどのXMPP IRISまたはURISに含まれる可能性は低いが、スキームは必要に応じてその包含を許可している。)したがって、以下のXMPP IRI/URIは「guest@example.com」として認証することを示している。
xmpp://guest@example.com
xmpp://guest@example.com
Note well that this is quite different from the following XMPP IRI/URI, which identifies a node "guest@example.com" but does not signal the processing application to authenticate as that node:
xmpp:guest@example.com
XMPP:guest@example.com
Similarly, using a possible query component of "?message" to trigger an interface for sending a message, the following XMPP IRI/URI signals the processing application to authenticate as "guest@example.com" and to send a message to "support@example.com":
同様に、「?メッセージ」の可能なクエリコンポーネントを使用してメッセージを送信するためのインターフェイスをトリガーすると、次のXMPP IRI/URIは処理アプリケーションを「guest@example.com」として認証し、「サポート@サポート@にメッセージを送信する」example.com ":
xmpp://guest@example.com/support@example.com?message
By contrast, the following XMPP IRI/URI signals the processing application to authenticate as its configured default account and to send a message to "support@example.com":
対照的に、次のXMPP IRI/URIは、処理アプリケーションを信号して、設定されたデフォルトアカウントとして認証し、「support@example.com」にメッセージを送信します。
xmpp:support@example.com?message
XMPP:support@example.com?メッセージ
The path component of an XMPP IRI/URI identifies an XMPP address or specifies the XMPP address to which an XML stanza shall be directed at the end of IRI/URI processing.
XMPP IRI/URIのパスコンポーネントは、XMPPアドレスを識別するか、XMLスタンザをIRI/URI処理の終わりに向けるXMPPアドレスを指定します。
For example, the following XMPP IRI/URI identifies a node associated with an XMPP server:
たとえば、次のXMPP IRI/URIは、XMPPサーバーに関連付けられたノードを識別します。
xmpp:example-node@example.com
The following XMPP IRI/URI identifies a node associated with an XMPP server along with a particular XMPP resource identifier associated with that node:
次のXMPP IRI/URIは、そのノードに関連付けられた特定のXMPPリソース識別子とともに、XMPPサーバーに関連付けられたノードを識別します。
xmpp:example-node@example.com/some-resource
Inclusion of a node is optional in XMPP addresses, so the following XMPP IRI/URI simply identifies an XMPP server:
XMPPアドレスでノードを含めることはオプションであるため、次のXMPP IRI/URIはXMPPサーバーを単純に識別します。
xmpp:example.com
There are many potential use cases for encapsulating information in the query component of an XMPP IRI/URI; examples include but are not limited to:
o sending an XMPP message stanza (see [XMPP-IM]),
o XMPPメッセージStanzaの送信([XMPP-IM]を参照)、
o adding a roster item (see [XMPP-IM]),
o 名簿項目を追加する([XMPP-IM]を参照)、
o sending a presence subscription (see [XMPP-IM]),
o
o probing for current presence information (see [XMPP-IM]), o triggering a remote procedure call (see [JEP-0009]),
o 現在の存在情報の調査([XMPP-IM]を参照)、oリモートプロシージャコールのトリガー([JEP-0009]を参照)、
o discovering the identity or capabilities of another entity (see [JEP-0030]),
o 別のエンティティのアイデンティティまたは能力を発見する([jep-0030]を参照)、
o joining an XMPP-based text chat room (see [JEP-0045]),
o XMPPベースのテキストチャットルームに参加します([jep-0045]を参照)、
o interacting with publish-subscribe channels (see [JEP-0060]),
o パブリッシュサブスクライブチャネルとの対話([jep-0060]を参照)、
o providing a SOAP interface (see [JEP-0072]), and
o 石鹸インターフェイスを提供する([jep-0072]を参照)、および
o registering with another entity (see [JEP-0077]).
o
Many of these potential use cases are application specific, and the full range of such applications cannot be foreseen in advance given the continued expansion in XMPP development; however, there is agreement within the Jabber/XMPP developer community that all the uses envisioned to date can be encapsulated via a "query type", optionally supplemented by one or more "key-value" pairs (this is similar to the "application/x-www-form-urlencoded" MIME type described in [HTML]).
これらの潜在的なユースケースの多くはアプリケーション固有であり、XMPP開発の継続的な拡張を考えると、そのようなアプリケーションの全範囲を事前に予見することはできません。ただし、Jabber/XMPP開発者コミュニティ内では、これまでに想定されているすべての使用法を「クエリタイプ」でカプセル化できるという合意があります。x-www-form-urlencoded "mimeタイプ[html])。
As an example, an XMPP IRI/URI intended to launch an interface for sending a message to the XMPP entity "example-node@example.com" might be represented as follows:
例として、XMPPエンティティにメッセージを送信するためのインターフェイスを起動することを目的としたXMPP IRI/URIは、次のように表される場合があります。
xmpp:example-node@example.com?message
xmpp:seample-node@example.com?メッセージ
Similarly, an XMPP IRI/URI intended to launch an interface for sending a message to the XMPP entity "example-node@example.com" with a particular subject might be represented as follows:
同様に、XMPPエンティティにメッセージを送信するためのインターフェイスを起動することを目的としたXMPP IRI/URIは、特定の主題を使用して「example-node@example.com」を次のように表現することができます。
xmpp:example-node@example.com?message;subject=Hello%20World
If the processing application does not understand query components or the specified query type, it MUST ignore the query component and treat the IRI/URI as consisting of, for example, <xmpp:example-node@example.com> rather than <xmpp:example-node@example.com?query>. If the processing application does not understand a particular key within the query component, it MUST ignore that key and its associated value.
処理アプリケーションがクエリコンポーネントまたは指定されたクエリタイプを理解していない場合、クエリコンポーネントを無視し、IRI/URIを、たとえば、<xmpp:Example-node@example.com> <xmpp:で構成されるものとして扱う必要があります。Example-node@example.com?Query>。処理アプリケーションがクエリコンポーネント内の特定のキーを理解していない場合、そのキーとそれに関連する値を無視する必要があります。
As noted, there exist many kinds of XMPP applications (both actual and potential), and such applications may define query types and keys for use in the query component portion of XMPP URIs. The Jabber Registrar function (see [JEP-0053]) of the Jabber Software Foundation maintains a registry of such query types and keys at <http://www.jabber.org/registrar/querytypes.html>. To help ensure interoperability, any application using the formats defined in this document SHOULD submit any associated query types and keys to that registry in accordance with the procedures specified in [JEP-0147].
前述のように、多くの種類のXMPPアプリケーション(実際のおよび電位の両方)が存在し、そのようなアプリケーションは、XMPP URIのクエリコンポーネント部分で使用するクエリタイプとキーを定義する場合があります。Jabber Software FoundationのJabber Registrar機能([jep-0053]を参照)は、<http://www.jabber.org/registrar/querytypes.html>にそのようなクエリタイプとキーのレジストリを維持しています。相互運用性を確保するために、[JEP-0147]で指定された手順に従って、このドキュメントで定義されている形式を使用して、関連するクエリタイプとキーをそのレジストリに送信する必要があります。
As stated in Section 3.5 of [URI], "The fragment identifier component of a URI allows indirect identification of a secondary resource by reference to a primary resource and additional identifying information." Because the resource identified by an XMPP IRI/URI does not make available any media type (see [MIME]) and therefore (in the terminology of [URI]) no representation exists at an XMPP resource, the semantics of the fragment identifier component in XMPP IRIs/URIs are to be "considered unknown and, effectively, unconstrained" (ibid.). Particular XMPP applications MAY make use of the fragment identifier component for their own purposes. However, if a processing application does not understand fragment identifier components or the syntax of a particular fragment identifier component included in an XMPP IRI/URI, it MUST ignore the fragment identifier component.
[URI]のセクション3.5で述べたように、「URIのフラグメント識別子コンポーネントは、主要なリソースと追加の識別情報を参照することにより、二次リソースの間接的な識別を可能にします。」XMPP IRI/URIによって識別されたリソースは、メディアタイプ([mime]を参照)を利用できないため、([uri]の用語で)XMPPリソースには表現が存在しないため、フラグメント識別子コンポーネントのセマンティクスは存在しません。XMPP IRIS/URIは、「不明であり、効果的には制約のない」と見なされるべきです(同上)。特定のXMPPアプリケーションは、独自の目的のためにフラグメント識別子コンポーネントを使用する場合があります。ただし、処理アプリケーションがフラグメント識別子コンポーネントまたはXMPP IRI/URIに含まれる特定のフラグメント識別子コンポーネントの構文を理解していない場合、フラグメント識別子コンポーネントを無視する必要があります。
In order to form an XMPP IRI from an XMPP node identifier, domain identifier, and resource identifier, the generating application MUST first ensure that the XMPP address conforms to the rules specified in [XMPP-CORE], including application of the relevant [STRINGPREP]; it MUST then concatenate the following:
XMPPノード識別子、ドメイン識別子、およびリソース識別子からXMPP IRIを形成するには、生成アプリケーションが最初にXMPPアドレスが[XMPP-CORE]で指定されたルールに準拠していることを確認する必要があります。;次に、次のように連結する必要があります。
1. The "xmpp" scheme and the ":" character
1. 「XMPP」スキームと「:」文字
2. Optionally (if an authority component is to be included before the node identifier), the characters "//", an authority component of the form node@domain, and the character "/".
2. オプションで(ノード識別子の前に権限コンポーネントを含める場合)、文字 "//"、フォームnode@domainの権限コンポーネント、および文字 "/"。
3. Optionally (if the XMPP address contained an XMPP "node identifier"), a string of Unicode characters that conforms to the "inodeid" rule, followed by the "@" character.
3.
4. A string of Unicode characters that conforms to the "ihost" rule.
4. 「ihost」ルールに準拠するユニコード文字の文字列。
5. Optionally (if the XMPP address contained an XMPP "resource identifier"), the character "/" and a string of Unicode characters that conforms to the "iresid" rule.
5. オプションで(XMPPアドレスにXMPP「リソース識別子」が含まれている場合)、文字「/」、および「IRESID」ルールに準拠するユニコード文字の文字列。
6. Optionally (if a query component is to be included), the "?" character and query component.
6. オプションで(クエリコンポーネントを含める場合)、「?」文字およびクエリコンポーネント。
7. Optionally (if a fragment identifier component is to be included), the "#" character and fragment identifier component.
7. オプションで(フラグメント識別子コンポーネントを含める場合)、「#」文字とフラグメント識別子コンポーネント。
In order to form an XMPP URI from the resulting IRI, an application MUST adhere to the mapping procedure specified in Section 3.1 of [IRI].
結果のIRIからXMPP URIを形成するには、[IRI]のセクション3.1で指定されたマッピング手順にアプリケーションを遵守する必要があります。
Certain characters are allowed in the node identifier, domain identifier, and resource identifier portions of a native XMPP address but prohibited by the "inodeid", "ihost", and "iresid" rules of an XMPP IRI. Specifically, the "#" and "?" characters are allowed in node identifiers, and the "/", "?", "#", and "@" characters are allowed in resource identifiers, but these characters are used as delimiters in XMPP IRIs. In addition, the " " ([US-ASCII] space) character is allowed in resource identifiers but prohibited in IRIs. Therefore, all the foregoing characters MUST be percent-encoded when transforming an XMPP address into an XMPP IRI.
特定の文字は、ネイティブXMPPアドレスのノード識別子、ドメイン識別子、およびリソース識別子部分で許可されていますが、XMPP IRIの「inodeid」、「ihost」、および「Iresid」ルールで禁止されています。具体的には、「#」と「?」文字はノード識別子で許可され、「/」、「」、「」、「#」、および「@」文字はリソース識別子で許可されますが、これらの文字はXMPPアイリスの区切り文字として使用されます。さらに、「[[us-ascii]スペース)文字はリソース識別子で許可されていますが、虹彩では禁止されています。したがって、XMPPアドレスをXMPP IRIに変換する場合、すべての前述の文字はパーセントエンコードする必要があります。
Consider the following nasty node in an XMPP address:
XMPPアドレスの次の厄介なノードを考えてみましょう。
nasty!#$%()*+,-.;=?[\]^_`{|}~node@example.com
That address would be transformed into the following XMPP IRI:
そのアドレスは、次のXMPP IRIに変換されます。
xmpp:nasty!%23$%25()*+,-.;=%3F[\]^_`{|}~node@example.com
Consider the following repulsive resource in an XMPP address (split into two lines for layout purposes):
XMPPアドレスの次の反発リソースを検討してください(レイアウト目的で2行に分割)。
node@example.com /repulsive !#"$%&'()*+,-./:;<=>?@[\]^_`{|}~resource
That address would be transformed into the following XMPP IRI (split into two lines for layout purposes):
そのアドレスは、次のXMPP IRIに変換されます(レイアウト目的で2行に分割されます)。
xmpp:node@example.com /repulsive%20!%23"$%25&'()*+,-.%2F:;<=>%3F%40[\]^_`{|}~resource
Furthermore, virtually any character outside the [US-ASCII] range is allowed in an XMPP address and therefore also in an XMPP IRI, but URI syntax forbids such characters directly and specifies that such characters MUST be percent-encoded. In order to determine the URI associated with an XMPP IRI, an application MUST adhere to the mapping procedure specified in Section 3.1 of [IRI].
さらに、実質的に[US-ASCII]範囲外のすべての文字はXMPPアドレスで許可されているため、XMPP IRIでも許可されていますが、URI構文はそのような文字を直接禁止し、そのような文字がパーセントエンコードされている必要があることを指定します。XMPP IRIに関連付けられたURIを決定するには、[IRI]のセクション3.1で指定されたマッピング手順に順守する必要があります。
Consider the following XMPP address:
次のXMPPアドレスを検討してください。
<jiři@čechy.example/v Praze>
Note: The string "ř" stands for the Unicode character LATIN SMALL LETTER R WITH CARON, and the string "č" stands for the Unicode character LATIN SMALL LETTER C WITH CARON, following the "XML Notation" used in [IRI] to represent characters that cannot be rendered in ASCII-only documents (note also that these characters are represented in their stringprep canonical form). The '<' and '>' characters are not part of the address itself but are provided to set off the address for legibility. For those who do not read Czech, this example could be Anglicized as "george@czech-lands.example/In Prague".
注:文字列「&#x159;」Unicodeキャラクターラテンの小さな文字rをキャロンと略、弦「&#x10d;」ユニコード文字ラテン語の小文字Cを使用して、[IRI]で使用されている「XML表記」に従って、Ascii-Only文書でレンダリングできない文字を表します(これらの文字はStringPrepep Canonical Formで表されていることにも注意してください)。「<'および'> '文字はアドレス自体の一部ではありませんが、読みやすさのためにアドレスをオフにするために提供されます。チェコを読んでいない人のために、この例は「george@czech-lands.example/in prague」として英語化される可能性があります。
In accordance with the process specified above, the generating application would do the following to generate a valid XMPP IRI from this address:
上記のプロセスに従って、生成アプリケーションは次のことを行い、このアドレスから有効なXMPP IRIを生成します。
1. Ensure that the XMPP address conforms to the rules specified in [XMPP-CORE], including application of the relevant [STRINGPREP] profiles and encoding as a [UTF-8] string.
1. XMPPアドレスが[XMPP-Core]で指定されたルールに準拠していることを確認し、関連する[StringPrep]プロファイルの適用や[UTF-8]文字列としてエンコードします。
2. Concatenate the following:
2. 以下を連結してください。
1. The "xmpp" scheme and the ":" character.
1. 「XMPP」スキームと「:」文字。
2. An "authority component" if included (not shown in this example).
2. 含まれている場合は「権限コンポーネント」(この例には示されていません)。
3. A string of Unicode characters that represents the XMPP address, transformed in accordance with the "inodeid", "ihost", and "iresid" rules.
3. 「inodeid」、「ihost」、および「iresid」ルールに従って変換されたXMPPアドレスを表す一連のユニコード文字。
4. The "?" character followed by a "query component", if appropriate to the application (not shown in this example).
4. 「?」文字に続いて、アプリケーションに適切な場合は「クエリコンポーネント」が続きます(この例には示されていません)。
5. The "#" character followed by a "fragment identifier component", if appropriate to the application (not shown in this example).
5.
The result is this XMPP IRI:
その結果、このXMPP IRI:
<xmpp:jiři@čechy.example/v%20Praze>
In order to generate a valid XMPP URI from the foregoing IRI, the application MUST adhere to the procedure specified in Section 3.1 of [IRI], resulting in the following URI:
<xmpp:ji%C5%99i@%C4%8Dechy.example/v%20Praze>
If a processing application is presented with an XMPP URI and not with an XMPP IRI, it MUST first convert the URI into an IRI by following the procedure specified in Section 3.2 of [IRI].
処理アプリケーションがXMPP URIでXMPP IRIではなく表示されている場合、[IRI]のセクション3.2で指定された手順に従って、最初にURIをIRIに変換する必要があります。
In order to decompose an XMPP IRI for interaction with the entity it identifies, a processing application MUST separate:
識別するエンティティとの相互作用のためにXMPP IRIを分解するには、処理アプリケーションが分離する必要があります。
1. The "xmpp" scheme and the ":" character.
1. 「XMPP」スキームと「:」文字。
2. The authority component, if included (the string of Unicode characters between the "//" characters and the next "/" character, the "?" character, the "#" character, or the end of the IRI).
2. 権限コンポーネント(含まれている場合)(「//」文字と次の "/「文字、「?」文字、「#」文字、またはIRIの終わりの間のユニコード文字の文字列)。
3. A string of Unicode characters that represents an XMPP address as transformed in accordance with the "inodeid", "ihost", and "iresid" rules.
3. 「inodeid」、「ihost」、および「iresid」ルールに従って変換されるXMPPアドレスを表す一連のユニコード文字。
4. Optionally the query component, if included, using the "?" character as a separator.
4. オプションでは、「?」を使用して、含まれている場合はクエリコンポーネントが含まれています。セパレーターとしてのキャラクター。
5. Optionally the fragment identifier component, if included, using the "#" character as a separator.
5. オプションで、「#」文字をセパレーターとして使用して、fragment識別子コンポーネントを含めています。
At this point, the processing application MUST ensure that the resulting XMPP address conforms to the rules specified in [XMPP-CORE], including application of the relevant [STRINGPREP]. The processing application then would either (1) complete further XMPP handling itself or (2) invoke a helper application to complete XMPP handling; such XMPP handling would most likely consist of the following steps: 1. If not already connected to an XMPP server, connect either as the user specified in the authority component or as the configured user at the configured XMPP server, normally by adhering to the XMPP connection procedures defined in [XMPP-CORE]. (Note: The processing application SHOULD ignore the authority component if it has been configured with a set of default credentials.)
この時点で、処理アプリケーションは、結果のXMPPアドレスが、関連する[StringPrep]の適用を含む[XMPP-Core]で指定されたルールに準拠することを確認する必要があります。処理アプリケーションは、(1)さらにXMPPの処理を完了するか、(2)ヘルパーアプリケーションを呼び出してXMPP処理を完了します。このようなXMPP処理は、おそらく次の手順で構成されます。1。XMPPサーバーにまだ接続されていない場合は、機関コンポーネントで指定されたユーザーとして、または通常はXMPPに付着することにより構成されたXMPPサーバーで構成されたユーザーとして接続します[xmpp-core]で定義されている接続手順。(注:処理アプリケーションは、デフォルトの資格情報のセットで構成されている場合、機関コンポーネントを無視する必要があります。)
2. Optionally, determine the nature of the intended recipient (e.g., via [JEP-0030]).
2. オプションでは、意図した受信者の性質を決定します(たとえば、[JEP-0030]経由)。
3. Optionally, present an appropriate interface to a user based on the nature of the intended recipient and/or the contents of the query component.
3. オプションでは、意図した受信者の性質および/またはクエリコンポーネントの内容に基づいて、ユーザーに適切なインターフェイスを提示します。
4. Generate an XMPP stanza that translates any user or application inputs into their corresponding XMPP equivalents.
4. ユーザーまたはアプリケーションの入力を対応するXMPP等価物に変換するXMPPスタンザを生成します。
5. Send the XMPP stanza via the authenticated server connection for delivery to the intended recipient.
5. 意図した受信者に配信するために、認証されたサーバー接続を介してXMPPスタンザを送信します。
It may help implementors to note that the first two steps of "further XMPP handling", as described at the end of Section 2.8.1, are similar to HTTP authentication ([HTTP-AUTH]), while the next three steps are similar to the handling of mailto: URIs ([MAILTO]).
セクション2.8.1の最後で説明されているように、「さらにXMPP処理」の最初の2つのステップがHTTP認証([http-auth])に似ているのに対し、次の3つの手順は類似していることに注意するのに役立つ場合があります。mailtoの処理:uris([mailto])。
As noted in Section 2.7.2 of this document, certain characters are allowed in the node identifier, domain identifier, and resource identifier portions of a native XMPP address but prohibited by the "inodeid", "ihost", and "iresid" rules of an XMPP IRI. The percent-encoded octets corresponding to these characters in XMPP IRIs MUST be transformed into the characters allowed in XMPP addresses when processing an XMPP IRI for interaction with the represented XMPP entity.
このドキュメントのセクション2.7.2で述べたように、特定の文字は、ネイティブXMPPアドレスのノード識別子、ドメイン識別子、およびリソース識別子部分で許可されていますが、「inodeid」、「ihost」、および「iresid」ルールで禁止されています。XMPP IRI。XMPP IRIのこれらの文字に対応する割合でエンコードされたオクテットは、XMPP IRIを処理するときにXMPPアドレスで許可されている文字に変換する必要があります。
Consider the following nasty node in an XMPP IRI:
XMPP IRIの次の厄介なノードを考えてみましょう。
xmpp:nasty!%23$%()*+,-.;=%3F[\]^_`{|}~node@example.com
That IRI would be transformed into the following XMPP address:
そのIRIは、次のXMPPアドレスに変換されます。
nasty!#$%()*+,-.;=?[\]^_`{|}~node@example.com
Consider the following repulsive resource in an XMPP IRI (split into two lines for layout purposes):
XMPP IRIの次の反発リソースを検討してください(レイアウト目的で2行に分割)。
xmpp:node@example.com /repulsive%20!%23"$%25&'()*+,-.%2F:;<=>%3F%40[\]^_`{|}~resource
That IRI would be transformed into the following XMPP address (split into two lines for layout purposes):
そのIRIは、次のXMPPアドレスに変換されます(レイアウト目的で2行に分割されます)。
node@example.com /repulsive !#"$%&'()*+,-./:;<=>?@[\]^_`{|}~resource
Consider the XMPP URI that resulted from the previous example:
前の例から生じたXMPP URIを考えてみましょう。
<xmpp:ji%C5%99i@%C4%8Dechy.example/v%20Praze>
In order to generate a valid XMPP IRI from that URI, the application MUST adhere to the procedure specified in Section 3.2 of [IRI], resulting in the following IRI:
そのURIから有効なXMPP IRIを生成するために、アプリケーションは[IRI]のセクション3.2で指定された手順を遵守する必要があり、次のIRIになります。
<xmpp:jiři@čechy.example/v%20Praze>
In accordance with the process specified above, the processing application would remove the "xmpp" scheme and ":" character to extract the XMPP address from this XMPP IRI, converting any percent-encoded octets from the "inodeid", "ihost", and "iresid" rules into their character equivalents (e.g., "%20" into the space character).
The result is this XMPP address:
<jiři@čechy.example/v Praze>
Because XMPP addresses are [UTF-8] strings and because octets outside the [US-ASCII] range within XMPP addresses can be easily converted to percent-encoded octets, XMPP addresses are designed to work well with Internationalized Resource Identifiers ([IRI]). In particular, with the exceptions of stringprep verification, the conversion of syntax-relevant [US-ASCII] characters (e.g., "?"), and the conversion of percent-encoded octets from the "inodeid", "ihost", and "iresid" rules into their character equivalents (e.g., "%20" into the [US-ASCII] space character), an XMPP IRI can be constructed directly by prepending the "xmpp" scheme and ":" character to an XMPP address. Furthermore, an XMPP IRI can be converted into URI syntax by adhering to the procedure specified in Section 3.1 of [IRI], and an XMPP URI can be converted into IRI syntax by adhering to the procedure specified in Section 3.2 of [IRI], thus ensuring interoperability with applications that are able to process URIs but unable to process IRIs.
XMPPアドレスは[UTF-8]文字列であり、XMPPアドレス内の[US-ASCII]範囲外のオクテットはパーセントエンコードのオクテットに簡単に変換できるため、XMPPアドレスは国際化されたリソース識別子([IRI])でうまく機能するように設計されています。。特に、StringPrepの検証を除いて、構文関連の[US-ASCII]文字(例えば、「?」)の変換、および「inodeid」、「ihost」、および」からのパーセントにエンコードされたオクテットの変換IRESID「キャラクター同等物へのルール(例:[US-ASCII]スペース文字への「%20」)では、XMPP IRIを「XMPP」スキームと「」:「文字をXMPPアドレスに入力することで直接構築できます。さらに、XMPP IRIは、[IRI]のセクション3.1で指定された手順を順守することによりURI構文に変換でき、XMPP URIは[IRI]のセクション3.2で指定された手順に付着することによりIRI構文に変換できます。URIを処理できるが虹彩を処理できないアプリケーションとの相互運用性を確保します。
In accordance with [URI-SCHEMES], this section provides the information required to register the xmpp URI scheme.
[URI-Schemes]に従って、このセクションでは、XMPP URIスキームを登録するために必要な情報を提供します。
xmpp
xmpp
permanent
The syntax for an xmpp URI is defined below using Augmented Backus-Naur Form as specified by [ABNF], where the "fragment", "host", "pct-encoded", and "unreserved" rules are defined in [URI] and DQUOTE is defined in [ABNF]:
XMPP URIの構文は、[abnf]で指定された拡張されたバックスノール形式を使用して以下に定義されます。ここで、「フラグメント」、「ホスト」、「PCTエンコード」、および「未自制保護」ルールは[uri]および[uri]および「unsiulsed」ルールが定義されています。dquoteは[abnf]で定義されています。
xmppuri = "xmpp" ":" hierxmpp [ "?" querycomp ] [ "#" fragment ] hierxmpp = authpath / pathxmpp authpath = "//" authxmpp [ "/" pathxmpp ] authxmpp = nodeid "@" host pathxmpp = [ nodeid "@" ] host [ "/" resid ] nodeid = *( unreserved / pct-encoded / nodeallow ) nodeallow = "!" / "$" / "(" / ")" / "*" / "+" / "," / ";" / "=" / "[" / "\" / "]" / "^" / "`" / "{" / "|" / "}" resid = *( unreserved / pct-encoded / resallow ) resallow = "!" / DQUOTE / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ":" / ";" / "<" / "=" / ">" / "[" / "\" / "]" / "^" / "`" / "{" / "|" / "}" querycomp = querytype [ *pair ] querytype = *( unreserved / pct-encoded ) pair = ";" key "=" value key = *( unreserved / pct-encoded ) value = *( unreserved / pct-encoded )
The xmpp URI scheme identifies entities that natively communicate using the Extensible Messaging and Presence Protocol (XMPP), and is mainly used for identification rather than for resource location. However, if an application that processes an xmpp URI enables interaction with the XMPP address identified by the URI, it MUST follow the methodology defined in Section 2 of RFC 4622, Use of XMPP IRIs and URIs, to reconstruct the encapsulated XMPP address, connect to an appropriate XMPP server, and send an appropriate XMPP "stanza" (XML fragment) to the XMPP address. (Note: There is no MIME type associated with the xmpp URI scheme.)
XMPP URIスキームは、拡張可能なメッセージングおよびプレゼンスプロトコル(XMPP)を使用してネイティブに通信するエンティティを識別し、主にリソースの場所ではなく識別に使用されます。ただし、XMPP URIを処理するアプリケーションがURIによって識別されたXMPPアドレスとの相互作用を有効にする場合、XMPP IRISおよびURISの使用のRFC 4622のセクション2で定義されている方法論に従う必要があります。適切なXMPPサーバーで、適切なXMPP「スタンザ」(XMLフラグメント)をXMPPアドレスに送信します。(注:XMPP URIスキームに関連するMIMEタイプはありません。)
In addition to XMPP URIs, there will also be XMPP Internationalized Resource Identifiers (IRIs). Prior to converting an Extensible Messaging and Presence Protocol (XMPP) address into an IRI (and in accordance with [XMPP-CORE]), the XMPP address must be represented as [UTF-8] by the generating application (e.g., by transforming an application's internal representation of the address as a UTF-16 string into a UTF-8 string), and the UTF-8 string must then be prepended with the "xmpp" scheme and ":" character. However, because an XMPP URI must contain only [US-ASCII] characters, the UTF-8 string of an XMPP IRI must be transformed into URI syntax by adhering to the procedure specified in RFC 3987.
XMPP URISに加えて、XMPP国際化されたリソース識別子(IRIS)もあります。拡張可能なメッセージと存在プロトコル(XMPP)アドレスをIRIに変換する前に(および[XMPP-Core])、XMPPアドレスは、生成アプリケーションによって[UTF-8]として表現する必要があります(例えば、変換することにより、ApplicationがUTF-16文字列としてUTF-8文字列へのアドレスを内部表現し、UTF-8文字列に「XMPP」スキームと「:」文字で準備する必要があります。ただし、XMPP URIには[us-ascii]文字のみが含まれている必要があるため、XMPP IRIのUTF-8文字列は、RFC 3987で指定された手順を順守することにより、URI構文に変換する必要があります。
The xmpp URI scheme is intended to be used by interfaces to an XMPP network from non-native user agents, such as web browsers, as well as by non-native applications that need to identify XMPP entities as full URIs or IRIs.
XMPP URIスキームは、XMPPエンティティをフルURIまたはIRIとして特定する必要がある非ネイティブユーザーエージェントのXMPPネットワークと、Webブラウザーなどの非ネイティブユーザーエージェントのXMPPネットワークに使用することを目的としています。
There are no known interoperability concerns related to use of the xmpp URI scheme. In order to help ensure interoperability, the Jabber Registrar function of the Jabber Software Foundation maintains a registry of query types and keys that can be used in the query components of XMPP URIs and IRIs, located at <http://www.jabber.org/registrar/querytypes.html>.
XMPP URIスキームの使用に関連する既知の相互運用性の懸念はありません。相互運用性を確保するために、Jabber Software FoundationのJabberレジストラ機能は、<http://www.jabber.orgにあるXMPP URISおよびIRISのクエリコンポーネントで使用できるクエリタイプとキーのレジストリを維持しています。/registrar/querytypes.html>。
See Section 5 of RFC 4622, Security Considerations.
RFC 4622のセクション5、セキュリティに関する考慮事項を参照してください。
Peter Saint-Andre [mailto:stpeter@jabber.org, xmpp:stpeter@jabber.org]
This scheme is registered under the IETF tree. As such, the IETF maintains change control.
このスキームは、IETFツリーの下に登録されています。そのため、IETFは変更制御を維持します。
[XMPP-CORE]
[xmpp-core]
This document registers a URI scheme. The registration template can be found in Section 3 of this document. In order to help ensure interoperability, the Jabber Registrar function of the Jabber Software Foundation maintains a registry of query types and keys that can be used in the query components of XMPP URIs and IRIs, located at <http://www.jabber.org/registrar/querytypes.html>.
このドキュメントは、URIスキームを登録します。登録テンプレートは、このドキュメントのセクション3に記載されています。相互運用性を確保するために、Jabber Software FoundationのJabberレジストラ機能は、<http://www.jabber.orgにあるXMPP URISおよびIRISのクエリコンポーネントで使用できるクエリタイプとキーのレジストリを維持しています。/registrar/querytypes.html>。
Providing an interface to XMPP services from non-native applications introduces new security concerns. The security considerations discussed in [IRI], [URI], and [XMPP-CORE] apply to XMPP IRIs, and the security considerations discussed in [URI] and [XMPP-CORE] apply to XMPP URIs. In accordance with Section 2.7 of [URI-SCHEMES] and Section 7 of [URI], particular security considerations are specified in the following sections.
非ネイティブアプリケーションからXMPPサービスにインターフェイスを提供すると、新しいセキュリティの懸念が導入されます。[IRI]、[URI]、および[XMPP-CORE]で議論されているセキュリティ上の考慮事項は、XMPP IRIに適用され、[URI]および[XMPP-CORE]で説明されているセキュリティ上の考慮事項はXMPP URIに適用されます。[uri-schemes]のセクション2.7および[uri]のセクション7に従って、特定のセキュリティ上の考慮事項を次のセクションで指定します。
Given that XMPP addresses of the form node@domain.tld are typically created via registration at an XMPP server or provisioned by an administrator of such a server, it is possible that such addresses may also be unregistered or deprovisioned. Therefore, the XMPP IRI/URI that identifies such an XMPP address may not be reliably and consistently associated with the same principal, account owner, application, or device.
フォームnode@domain.tldのXMPPアドレスが通常、XMPPサーバーでの登録を介して作成されるか、そのようなサーバーの管理者によってプロビジョニングされていることを考えると、そのようなアドレスも未登録または脱分布される可能性があります。したがって、このようなXMPPアドレスを識別するXMPP IRI/URIは、同じプリンシパル、アカウント所有者、アプリケーション、またはデバイスと確実かつ一貫して関連付けられていない可能性があります。
XMPP addresses of the form node@domain.tld/resource are typically even more ephemeral (since a given XMPP resource identifier is typically associated with a particular, temporary session of an XMPP client at an XMPP server); therefore the XMPP IRI/URI that identifies such an XMPP address probably will not reliably and consistently be associated with the same session. However, the procedures specified in Section 10 of [XMPP-CORE] effectively eliminate any potential confusion that might be introduced by the lack of reliability and consistency for the XMPP IRI/URI that identifies such an XMPP address.
フォームnode@domain.tld/ResourceのXMPPアドレスは、通常、さらにはかないものです(特定のXMPPリソース識別子は通常、XMPPサーバーでのXMPPクライアントの特定の一時セッションに関連付けられているため)。したがって、このようなXMPPアドレスを識別するXMPP IRI/URIは、おそらく同じセッションに確実かつ一貫して関連付けられていないでしょう。ただし、[XMPP-Core]のセクション10で指定された手順は、そのようなXMPPアドレスを識別するXMPP IRI/URIの信頼性と一貫性の欠如によって導入される可能性のある潜在的な混乱を効果的に排除します。
XMPP addresses of the form domain.tld are typically long-lived XMPP servers or associated services; although naturally it is possible for server or service administrators to de-commission the server or service at any time, typically the IRIs/URIs that identify such servers or services are the most reliable and consistent of XMPP IRIs/URIs.
XMPP addresses of the form domain.tld/resource are not yet common on XMPP networks; however, the reliability and consistency of XMPP IRIs/URIs that identify such XMPP addresses would likely fall somewhere between those that identify XMPP addresses of the form domain.tld and those that identify XMPP addresses of the form node@domain.tld.
XMPPドメインのXMPPアドレスは、XMPPネットワークではまだ一般的ではありません。ただし、そのようなXMPPアドレスを識別するXMPP IRIS/URIの信頼性と一貫性は、フォームdomain.tldのXMPPアドレスを識別するものと、フォームnode@domain.tldのXMPPアドレスを識別するXMPPアドレスを識別するものの間にどこかに落ちる可能性があります。
Malicious construction of XMPP IRIs/URIs is made less likely by the prohibition on port numbers in XMPP IRIs/URIs (since port numbers are to be discovered using [DNS-SRV] records, as specified in [XMPP-CORE]).
XMPP IRIS/URISの悪意のある構造は、XMPP IRIS/URISのポート番号の禁止により可能性が低くなります([XMPP-Core]で指定されているように、[DNS-SRV]レコードを使用してポート番号を発見するため)。
Because the base XMPP protocol is designed to implement the exchange of messages and presence information and not the retrieval of files or invocation of similar system functions, it is deemed unlikely that the use of XMPP IRIs/URIs would result in harmful dereferencing. However, if an XMPP protocol extension defines methods for information retrieval, it MUST define appropriate controls over access to that information. In addition, XMPP servers SHOULD NOT natively parse XMPP IRIs/URIs but instead SHOULD accept only the XML wire protocol specified in [XMPP-CORE] and any desired extensions thereto.
ベースXMPPプロトコルは、ファイルの取得や同様のシステム関数の呼び出しではなく、メッセージと存在情報の交換を実装するように設計されているため、XMPP IRIS/URISの使用が有害な繰り返しにつながる可能性は低いとは考えられません。ただし、XMPPプロトコル拡張が情報検索の方法を定義する場合、その情報へのアクセスに対する適切な制御を定義する必要があります。さらに、XMPPサーバーは、XMPP IRIS/URISをネイティブに解析するのではなく、[XMPP-Core]で指定されたXMLワイヤプロトコルとその目的の拡張機能のみを受け入れる必要があります。
The ability to interact with XMPP entities via a web browser or other non-native application may expose sensitive information (such as support for particular XMPP application protocol extensions) and thereby make it possible to launch attacks that are not possible or that are unlikely on a native XMPP network. Due care must be taken in deciding what information is appropriate for representation in XMPP IRIs or URIs.
Webブラウザーまたはその他の非ネイティブアプリケーションを介してXMPPエンティティと対話する機能は、機密情報(特定のXMPPアプリケーションプロトコル拡張のサポートなど)を公開する可能性があり、それにより、不可能な攻撃を起動することができます。ネイティブXMPPネットワーク。XMPP IrisまたはURIの表現に適した情報を決定する際には、適切な注意が必要です。
In particular, advertising XMPP IRIs/URIs in publicly accessible locations (e.g., on websites) may make it easier for malicious users to harvest XMPP addresses from the authority and path components of XMPP IRIs/URIs and therefore to send unsolicited bulk communications to the users or applications represented by those addresses. Due care should be taken in balancing the benefits of open information exchange against the potential costs of unwanted communications.
特に、XMPP IRIS/URIを公開可能な場所(Webサイト上)に広告すると、悪意のあるユーザーがXMPP IRIS/URIの権限とパスコンポーネントからXMPPアドレスを収集し、したがって、ユーザーに未承諾のバルク通信を送信できるようになる可能性があります。またはそれらのアドレスで表されるアプリケーション。不要なコミュニケーションの潜在的なコストとのオープン情報交換の利点のバランスをとることには、適切な注意が必要です。
To help prevent leaking of sensitive information, passwords and other user credentials are forbidden in the authority component of XMPP IRIs/URIs; in fact they are not needed, since the fact that authentication in XMPP occurs via [SASL] makes it possible to use the SASL ANONYMOUS mechanism, if desired.
機密情報の漏れを防ぐために、パスワードやその他のユーザー資格情報は、XMPP IRIS/URIの権限コンポーネントで禁止されています。実際、XMPPの認証が[SASL]を介して発生するという事実により、必要に応じてSASL匿名メカニズムを使用できるため、必要ではありません。
Despite the existence of non-hierarchical URI schemes such as [MAILTO], by association human users may expect all URIs to include the "//" characters after the scheme name and ":" character. However, in XMPP IRIs/URIs, the "//" characters precede the authority component rather than the path component. Thus, xmpp://guest@example.com indicates to authenticate as "guest@example.com", whereas xmpp:guest@example.com identifies the node "guest@example.com". Processing applications MUST clearly differentiate between these forms, and user agents SHOULD discourage human users from including the "//" characters in XMPP IRIs/URIs since use of the authority component is envisioned to be helpful only in specialized scenarios, not more generally.
[mailto]などの非階層的なURIスキームの存在にもかかわらず、人間のユーザーは、すべてのURIがスキーム名の後に「//」文字を含めることと、「:」文字を含めることを期待するかもしれません。ただし、XMPP IRIS/URISでは、「//」文字はパスコンポーネントではなく、権限コンポーネントの前にあります。したがって、xmpp://guest@example.comは「guest@example.com」として認証することを示しますが、xmpp:guest@example.comはnode "guest@example.com"を識別します。処理アプリケーションはこれらのフォームを明確に区別する必要があり、ユーザーエージェントは、XMPP IRIS/URIに「//」文字が含まれることを思いとどまらせる必要があります。
The ability to include effectively the full range of Unicode characters in an XMPP IRI may make it easier to execute certain forms of address mimicking (also called "spoofing"). However, XMPP IRIs are no different from other IRIs in this regard, and applications that will present XMPP IRIs to human users must adhere to best practices regarding address mimicking in order to help prevent attacks that result from spoofed addresses (e.g., the phenomenon known as "phishing"). For details, refer to the Security Considerations of [IRI].
XMPP IRIに全範囲のユニコード文字を効果的に含める機能により、特定の形式のアドレスを模倣することが容易になります(「スプーフィング」とも呼ばれます)。ただし、この点でXMPP Irisは他のIRISと違いはありません。また、人間のユーザーにXMPP IRIを提示するアプリケーションは、スプーフィングされたアドレス(例えば、呼び起こされたアドレスから生じる攻撃を防ぐために、住所に関するベストプラクティスを遵守する必要があります。「フィッシング」)。詳細については、[IRI]のセキュリティ上の考慮事項を参照してください。
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005.
[ABNF] Crocker、D。およびP. Overell、「構文仕様のためのBNFの増強:ABNF」、RFC 4234、2005年10月。
[IRI] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005.
[IRI] Duerst、M。およびM. Suignard、「国際化された資源識別子(IRIS)」、RFC 3987、2005年1月。
[TERMS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[用語] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。
[URI] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.
[URI] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「Uniform Resource Identifier(URI):Generic Syntax」、Std 66、RFC 3986、2005年1月。
[XMPP-CORE] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 3920, October 2004.
[XMPP-Core] Saint-Andre、P。、「拡張可能なメッセージと存在プロトコル(XMPP):Core」、RFC 3920、2004年10月。
[CPIM] Peterson, J., "Common Profile for Instant Messaging (CPIM)", RFC 3860, August 2004.
[CPIM]ピーターソン、J。、「インスタントメッセージングの共通プロファイル(CPIM)」、RFC 3860、2004年8月。
[CPP] Peterson, J., "Common Profile for Presence (CPP)", RFC 3859, August 2004.
[CPP]ピーターソン、J。、「存在の共通プロファイル(CPP)」、RFC 3859、2004年8月。
[DNS-SRV] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000.
[DNS-SRV] Gulbrandsen、A.、Vixie、P。、およびL. Esibov、「サービスの場所を指定するためのDNS RR(DNS SRV)」、RFC 2782、2000年2月。
[HTML] Raggett, D., "HTML 4.0 Specification", W3C REC REC-html40-19980424, April 1998.
[HTML] Raggett、D。、「HTML 4.0仕様」、W3C Rec Rec-HTML40-19980424、1998年4月。
[HTTP-AUTH] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., and L. Stewart, "HTTP Authentication: Basic and Digest Access Authentication", RFC 2617, June 1999.
[HTTP-Auth] Franks、J.、Hallam-Baker、P.、Hostetler、J.、Lawrence、S.、Leach、P.、Luotonen、A。、およびL. Stewart、 "HTTP認証:基本および消化アクセス認証」、RFC 2617、1999年6月。
[IDNA] Faltstrom, P., Hoffman, P., and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.
[IDNA] Faltstrom、P.、Hoffman、P.、およびA. Costello、「アプリケーションの国際化ドメイン名(IDNA)」、RFC 3490、2003年3月。
[JEP-0009] Adams, D., "Jabber-RPC", JSF JEP 0009, February 2006.
[JEP-0030] Hildebrand, J., Millard, P., Eatmon, R., and P. Saint-Andre, "Service Discovery", JSF JEP 0030, January 2006.
[JEP-0030] Hildebrand、J.、Millard、P.、Eatmon、R。、およびP. Saint-Andre、「Service Discovery」、JSF JEP 0030、2006年1月。
[JEP-0045] Saint-Andre, P., "Multi-User Chat", JSF JEP 0045, September 2005.
[JEP-0045] Saint-Andre、P。、「マルチユーザーチャット」、JSF JEP 0045、2005年9月。
[JEP-0053] Saint-Andre, P., "Jabber Registrar", JSF JEP 0053, May 2004.
[JEP-0060] Millard, P., Saint-Andre, P., and R. Meijer, "Publish-Subscribe", JSF JEP 0060, June 2005.
[JEP-0072] Forno, F. and P. Saint-Andre, "SOAP Over XMPP", JSF JEP 0072, December 2005.
[JEP-0077] Saint-Andre, P., "In-Band Registration", JSF JEP 0077, January 2006.
[JEP-0147] Saint-Andre, P., "XMPP IRI/URI Query Components", JSF JEP 0147, March 2006.
[JEP-0147] Saint-Andre、P。、「XMPP IRI/URIクエリコンポーネント」、JSF JEP 0147、2006年3月。
[MAILTO] Hoffman, P., Masinter, L., and J. Zawinski, "The mailto URL scheme", RFC 2368, July 1998.
[Mailto] Hoffman、P.、Masinter、L。、およびJ. Zawinski、「The Mailto URL Scheme」、RFC 2368、1998年7月。
[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996.
[Mime] Freed、N。およびN. Borenstein、「多目的インターネットメールエクステンション(MIME)パート2:メディアタイプ」、RFC 2046、1996年11月。
[SASL] Melnikov, A. and K. Zeilenga, "Simple Authentication and Security Layer (SASL)", RFC 4422, June 2006.
[SASL] Melnikov、A。およびK. Zeilenga、「Simple Authentication and Security Layer(SASL)」、RFC 4422、2006年6月。
[STRINGPREP] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("STRINGPREP")", RFC 3454, December 2002.
[StringPrep] Hoffman、P。and M. Blanchet、「国際化された文字列の準備(「StringPrep」)」、RFC 3454、2002年12月。
[UNICODE] The Unicode Consortium, "The Unicode Standard, Version 3.2.0", 2000.
[Unicode] Unicode Consortium、「Unicode Standard、バージョン3.2.0」、2000。
The Unicode Standard, Version 3.2.0 is defined by The Unicode Standard, Version 3.0 (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633-5), as amended by the Unicode Standard Annex #27: Unicode 3.1 (http://www.unicode.org/reports/tr27/) and by the Unicode Standard Annex #28: Unicode 3.2 (http://www.unicode.org/reports/tr28/).
Unicode標準バージョン3.2.0は、Unicode Standard Annex#27:Unicode 3.1によって修正されたように、Unicode標準バージョン3.0(リーディング、マサチューセッツ州、Addison-Wesley、2000。ISBN0-201-61633-5)で定義されています。(http://www.unicode.org/reports/tr27/)およびUnicode Standard Annex#28:Unicode 3.2(http://www.unicode.org/reports/tr28/)。
[URI-SCHEMES] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and Registration Procedures for New URI Schemes", RFC 4395, February 2006.
[URI-Schemes] Hansen、T.、Hardie、T。、およびL. Masinter、「新しいURIスキームのガイドラインと登録手順」、RFC 4395、2006年2月。
[US-ASCII] American National Standards Institute, "Coded Character Set - 7-bit American Standard Code for Information Interchange", ANSI X3.4, 1986.
[US-ASCII] American National Standards Institute、「コード化された文字セット-7ビットの情報インターチェンジのためのアメリカ標準コード」、ANSI X3.4、1986。
[UTF-8] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
[UTF-8] Yergeau、F。、「UTF-8、ISO 10646の変換形式」、STD 63、RFC 3629、2003年11月。
[XMPP-IM] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence", RFC 3921, October 2004.
[XMPP-IM] Saint-Andre、P。、「拡張可能なメッセージと存在プロトコル(XMPP):インスタントメッセージングと存在」、RFC 3921、2004年10月。
Author's Address
著者の連絡先
Peter Saint-Andre Jabber Software Foundation
Peter Saint-Andre Jabber Software Foundation
EMail: stpeter@jabber.org URI: xmpp:stpeter@jabber.org
Full Copyright Statement
完全な著作権声明
Copyright (C) The Internet Society (2006).
Copyright(c)The Internet Society(2006)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
知的財産
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETFは、知的財産権またはその他の権利の有効性または範囲に関して、本書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスに基づくライセンスの範囲に関連すると主張される可能性のある他の権利に関しては、立場を取得しません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78およびBCP 79に記載されています。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要なテクノロジーをカバーする可能性のあるその他の独自の権利を注意深く招待します。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。
Acknowledgement
謝辞
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).