Subject: [hybi] "Intermediaries"

From: "Bob Gezelter" <[email-masked]>
Date: Tue, 16 Aug 2011 07:34:01 -0700

I would like to suggest that as a group, we be far more precise about
our usage of the term "intermediaries".

A device that terminates a WebSocket protocol connection underlying
transport connection (e.g., TCP link) is most properly referred to as a
"gateway". In a multiplexed context, such a device might also forward
the contained sub-channels to different physical endpoints, functioning
as a traffic director or proxy.

A device that seemingly transparently inspects (and possibly interferes
with) the transport stream WITHOUT being the endpoint of the transport
connection is a very different beast. It is hardly a proxy.

These two devices (and I DO NOT claim that the above is an exhaustive
taxonomy) are far different in their issues and implications.

For example, consider the meaning of PING/PONG in the above cases. For
one thing, it is clear that a multiplexed implementation requires a
sub-channel PING/PONG, or an explicit note that an application using a
channel is responsible for ascertaining the state of its correspondent
through a similar, applications level construct (preferably the latter,
the only assurance that an application endpoint is actually functioning
is a response from the application itself, not a response from the
remote API).

- Bob Gezelter, http://www.rlgsc.com

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Tue, 16 Aug 2011 22:51:22 +0200

> is a response from the application itself, not a response from the

Good comment. I agree, the term "intermediary" is too much used in the
draft and the maillist without nobody specifying what it is exactly.

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Wed, 17 Aug 2011 11:46:08 +0200

> connection is a very different beast. It is hardly a proxy.

In the case of SIP protocol, this would be a SIP proxy, which can act
on signalling level (by inspecting headers or adding new more) but
never at application level (which is carried within SIP
request/response body).

> as a traffic director or proxy.

In the case of SIP, this would be a B2BUA (a server agent + a client
agent). The server agent receives the requests from clients and
inspects headers and body (application), and then it behaves as a new
client (via the clietn agent) by sending the request (or not) to other
location, or maybe by performing a protocol brigde (SIP to SS7 gateway
for example).

Still I want to know what "an intermediary" is in WebSocket protocol :)

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Sun, 21 Aug 2011 13:33:00 +0200

> draft and the maillist without nobody specifying what it is exactly.

Please. Could someone explain what an intermediary is in the context of ws?

For example I expect that a common http proxy wont be ws aware so it will
treat ws frames as binary data. So other mail threads talking about
"intermediary's max frame" does not apply here.

So I assume that the term intermediary refers more to a ws aware entity
which receives ws frames from a client (the client performed the ws
handshake against this intermediary) and later resends the ws messages to
other entities, perhaps re-framing them.

But still I dont think the client performs ws handhake against an
intermediary, or does it?

Could somebody clarify it PLEASE? This is critical in order to understand
other subjects discussed in other mail threads and current description of
"intermediary" is too vague.

Thanks a lot.