Re: [Gen-art] Gen-ART review for draft-ietf-xmpp-websocket-07
Peter Saint-Andre <[email protected]> Tue, 08 Jul 2014 09:22:41 -0600
| Newsgroups | gmane.ietf.xmpp,gmane.ietf.gen-art |
|---|---|
| Message-ID | <[email protected]> |
Hi Dan,
As the document shepherd for this spec and the author of RFC 6120, I
have one comment below.
On 7/8/14, 3:06 AM, Romascanu, Dan (Dan) wrote:
> Hi Jari,
>
> The authors actually responded - see http://www.ietf.org/mail-archive/web/gen-art/current/msg10306.html.
>
> They pushed back on my #1 - I am still not convinced by their argument (as the protocol does change by adding a different mapping) but I would not block the document for this purpose.
> The proposed changes for the rest are fine.
Even at the time of RFC 3920 (precursor to RFC 6120), we had one other
binding, namely the HTTP binding long-polling binding ("BOSH") defined
at http://xmpp.org/extensions/xep-0124.html - this is why in RFC 3920 we
explicitly stated that the spec defined only the TCP binding:
###
4.2. Binding to TCP
Although there is no necessary coupling of an XML stream to a [TCP]
connection (e.g., two entities could connect to each other via
another mechanism such as polling over [HTTP]), this specification
defines a binding of XMPP to TCP only. In the context of
client-to-server communications, a server MUST allow a client to
share a single TCP connection for XML stanzas sent from client to
server and from server to client. In the context of server-to-server
communications, a server MUST use one TCP connection for XML stanzas
sent from the server to the peer and another TCP connection
(initiated by the peer) for stanzas from the peer to the server, for
a total of two TCP connections.
###
We repeated this qualification in RFC 6120:
###
3. TCP Binding
3.1. Scope
As XMPP is defined in this specification, an initiating entity
(client or server) MUST open a Transmission Control Protocol [TCP]
connection to the receiving entity (server) before it negotiates XML
streams with the receiving entity. The parties then maintain that
TCP connection for as long as the XML streams are in use. The rules
specified in the following sections apply to the TCP binding.
Informational Note: There is no necessary coupling of XML streams
to TCP, and other transports are possible. For example, two
entities could connect to each other by means of [HTTP] as
specified in [XEP-0124] and [XEP-0206]. However, this
specification defines only a binding of XMPP to TCP.
###
The WebSocket binding specified in this I-D is intended to eventually
replace BOSH for reasons explained in RFC 6202.
In my opinion, the point of layering via bindings is to not modify or
update one binding by defining another binding. Thus I continue to be of
the opinion that the WebSocket binding does not update RFC 6120.
Peter
>
> Regards,
>
> Dan
>
>
>> -----Original Message-----
>> From: Jari Arkko [mailto:[email protected]]
>> Sent: Tuesday, July 08, 2014 7:58 AM
>> To: Romascanu, Dan (Dan)
>> Cc: [email protected]; [email protected];
>> [email protected]
>> Subject: Re: [Gen-art] Gen-ART review for draft-ietf-xmpp-websocket-07
>>
>> Thanks for the review, Dan.
>>
>> I would like to see some thoughts from the editors regarding the two points
>> that you raised.
>>
>> Jari
>>
>> On 02 Jul 2014, at 09:00, Romascanu, Dan (Dan) <[email protected]>
>> wrote:
>>
>>> I am the assigned Gen-ART reviewer for this draft. For background on Gen-
>> ART, please see the FAQ at
>>>
>>> <http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
>>>
>>> Please resolve these comments along with any other Last Call comments
>> you may receive.
>>>
>>> Document: https://datatracker.ietf.org/doc/draft-ietf-xmpp-websocket/
>>> Reviewer: Dan Romascanu
>>> Review Date: 7/2/2014
>>> IETF LC End Date: 7/4/2014
>>> IESG Telechat date: 7/10/2014
>>>
>>> Summary: ready with minor issues
>>>
>>> Major issues:
>>>
>>> None
>>>
>>> Minor issues:
>>>
>>> 1. In order to accommodate the Websocket binding this document
>> describes several deviations from RFC6120. For example, in Section 3.3 it
>> says:
>>> The WebSocket XMPP sub-protocol deviates from the standard method of
>>> constructing and using XML streams as defined in [RFC6120] by
>>> adopting the message framing provided by WebSocket to delineate the
>>> stream open and close headers, stanzas, and other top-level stream
>>> elements.
>>> I am wondering whether it would not be appropriate to reflect this
>> in the document header by adding Updates RFC6120
>>>
>>> 2. In Section 3.6.1:
>>>
>>> If the server wishes at any point to instruct the client to move to a
>>> different WebSocket endpoint (e.g. for load balancing purposes), the
>>> server MAY send a <close/> element and set the "see-other-uri"
>>> attribute to the URI of the new connection endpoint (which MAY be for
>>> a different transport method, such as BOSH (see [XEP-0124] and
>>> [XEP-0206]).
>>>
>>> I do not understand the usage of MAY in this paragraph. Is there
>> another method to move to a different Web socket endpoint that is
>> described here or some other place? In not, why is not the first MAY at least
>> a SHOULD? The second usage seems to describe a state of facts, so it needs
>> not be capitalized at all.
>>>
>>>
>>> Nits/editorial comments:
>>>
>>> In Section 3.1 I believe that the example should be preceded by some text
>> that indicates that this is an example, such as: 'An example of a successful
>> handshake and start of session follows:'
>>>
>>>
>>> _______________________________________________
>>> Gen-art mailing list
>>> [email protected]
>>> https://www.ietf.org/mailman/listinfo/gen-art
>
> _______________________________________________
> xmpp mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/xmpp
>