[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [hybi] hybi Digest, Vol 8, Issue 41



Ted Goddard wrote:
> Without multiplexing, I expect we will see each Ajax component
> in each page opening its own socket, and multiple pages open
> to the same server is very common (users often forget that
> they already have a window open in their browser) so a hundred
> connections to a single server would not be unexpected.

Yes, this is exactly what I expect to happen.

(I'll add that deliberately opening multiple tabs to the same server
is quite common too.  Like, when you want to read 10 different
articles from the same news/blog site, many people open 10 tabs by
right-clicking from the headline page, let the pages load in the
background, and work their way through them)

Sharing WebSockets between components on different pages is difficult
for the simple reason that browser tabs are quite independent.  (But I
haven't seen anyone advocate that they should use separate HTTP
connections...)

On a single page, Ajax component authors _could_ cooperate so their
components share connections, but how likely is that?

Even with good intentions, it's technically *quite hard* to share
connections between independent components on a single page.

That's because one component sending a large message can block
progress of all other components on the page, if they share.  And one
component taking a long time to accept messages can block all the
others even if it's a short message.

But if they all have separate connections, they do not block each
other, so there's a strong motivation to do that.  It is, after all,
easier to program as well.

That is why I advocate a slightly more advanced multiplexing, akin to
interleaved HTTP chunks, where no component can block the progress of
any others, and chunks can be interleaved in a fair, orderly and
network-efficient manner.  I'm pretty sure that would improve the
browser experience unequivocally for almost everyone.

-- Jamie

Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.