[whatwg] General TCP connections API?

Charles Iliya Krempeaux supercanadian at gmail.com
Thu May 26 12:08:49 PDT 2005


(Please excuse me if this has already been discussed.  I'm still
working my way through the mailing list archive.  Also, I hope I'm not
out of place by just interjecting myself.)

Are there any plans to add an API to create TCP connections?

IMO, this is very necessary for creating "web applications".  And it
would be unfortunate if it wasn't included.

Right now, there seems to be a new fad revolving around
XmlHttpRequest.  It has been nicknamed AJAX by many.  And heralded as
a means of asynchronous communication for the Web.  However, AJAX only
gives the illusion of asynchronous communication between the server
and client.  The client is polling the server.  And often a new TCP
connection is created (and later tore down) each time the server is
polled.  (Which, IMO, is bad.)

The nice thing about XmlHttpRequest is that it makes it so you can
"update" a webpage without having to reload it.  Which improves
usability.  However, because of the polling, performance is adversely
affected.  Not to mention that polling is not the optimal mode of

One could come up with a new protocol for asynchronous communication. 
(Maybe as something to accompany HTTP.  Or maybe even as an extension
to it -- HTTP 1.2?)  Which may solve this problem.  But other
"problems" could arise in the future.  It would be good to provide
developers (of web applications) the building blocks to solve a wider
set of problems.  And to me, I think having an API to create TCP
connection is one of these building blocks.

Some might say that letting the client create general TCP connects
would bring up all sorts of security concerns.  However, I think these
security concerns can be dealt with by making it so the API would only
allow the client to create a TCP connection to the "host" that the
client -- the webpage (or web application) -- came from.

Or, alternatively, we could allow the host that the webpage (or web
application) came from to specify a list of domains (or IP addresses)
that clients could connect to.  (Of course, there would be
restrictions on this.  The hosts in that list would need to "allow"
the original host to do this.  A mechanism for this would need to be

There could even be other restrictions.  For example, a host could
specify what ports it allows webpages (and web applications) to
connnect to.

So,... are there any plans to add an API to create TCP connections?

See ya

     Charles Iliya Krempeaux, B.Sc.

     charles @ reptile.ca
     supercanadian @ gmail.com
  Wikibooks, Free Open-Content Books                  http://wikibooks.org/

More information about the whatwg mailing list