New ProtoXEP: XEP-IWE - Implicit WebSocket Endpoints

This commit is contained in:
Florian Schmaus 2021-01-30 11:26:16 +01:00
parent 9627b0193c
commit 56aed03385
1 changed files with 105 additions and 0 deletions

105
inbox/xep-iwe.xml Normal file
View File

@ -0,0 +1,105 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
<title>Implicit XMPP WebSocket Endpoints</title>
<abstract>This document specifies implicit connection endpoints for XMPP over WebSocket (RFC 7395).</abstract>
&LEGALNOTICE;
<number>xxxx</number>
<status>ProtoXEP</status>
<type>Standards Track</type>
<sig>Standards</sig>
<approver>Council</approver>
<dependencies>
<spec>XMPP Core</spec>
<spec>XEP-0001</spec>
<spec>Etc.</spec>
</dependencies>
<supersedes/>
<supersededby/>
<shortname>iwe</shortname>
&flow;
<revision>
<version>0.0.1</version>
<date>2020-01-28</date>
<initials>fs</initials>
<remark><p>First draft.</p></remark>
</revision>
</header>
<section1 topic='Introduction' anchor='intro'>
<p>Unlike for XMPP connections via TCP as specified in &rfc6120;,
there exists no specificiation of implicit connection endpoints for
XMPP over WebSocket (&rfc7395;). As a result, XMPP services which
whish to provide WebSocket connectivity need to announce their
WebSocket endpoints, so that clients are able to discover them (RFC
7395 § 4). This XEP fills this gap. It eventually enables, under
certain conditions, XMPP services to provide WebSocket connectivty,
without resorting to &xep0156; nor requiring manual configuration by
the user.</p>
</section1>
<section1 topic='Implicit XMPP WebSocket Endpoints' anchor='reqs'>
<p>The following implicit XMPP WebSocket endpoints are specified:</p>
<ul>
<li>wss://&lt;xmpp-service-name>:5443/ws</li>
<li>ws://&lt;xmpp-service-name>:5443/ws</li>
<li>wss://&lt;xmpp-service-name>/ws</li>
<li>ws://&lt;xmpp-service-name>/ws</li>
</ul>
<p>TODO: Use implicit endpoints only if no other endpoints were
discovered?</p>
</section1>
<section1 topic='Implementation Notes' anchor='impl'>
<p>Implementations should note that due this XEP, the collection of
potential endpoints may contain duplicates. This is because the
implicit WebSocket connection endpoints defined herein may match the
ones that where discovered (RFC 7395 § 4, XEP-0156). Implementations
may want to ensure that no such duplicates exist.</p>
<p>Furthermore, implementations attempting to connect to the
discovered endpoints serially, as opposed to concurrently, may use
the implicit endpoints only as last resort.</p>
</section1>
<section1 topic='Security Considerations' anchor='security'>
<p>Since the implicit WebSocket connection endpoints are defined to
include the XMPP service name, the verification required when using
the secured variant of the WebSocket transport provides the
necessary security.</p>
</section1>
<section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<p>This document requires no interaction with the XMPP registrar.</p>
</section1>
<section1 topic='XML Schema' anchor='schema'>
<p>No XML schema specification is required, as this XEP does not
specify any XML data.</p>
</section1>
</xep>