Subject: WG Review: BiDirectional or Server-Initiated HTTP (hybi)

From: IESG Secretary <[email-masked]>
Date: Wed, 6 Jan 2010 11:51:03 -0800 (PST)

A new IETF working group has been proposed in the Applications Area.  The
IESG has not made any determination as yet.  The following draft charter
was submitted, and is provided for informational purposes only.  Please
send your comments to the IESG mailing list ([email-masked]) by Wednesday,
January 13, 2010.

BiDirectional or Server-Initiated HTTP (hybi)
--------------------------------------------------------
Last Modified: 2010-01-05

Current Status: Proposed Working Group

Chairs:
* TBD
* TBD

Applications Area Director(s):
* Lisa Dusseault <[email-masked]>
* Alexey Melnikov <[email-masked]>

Applications Area Advisor:
* Lisa Dusseault <[email-masked]>

Mailing Lists:
General Discussion: [email-masked]
To Subscribe: https://www.ietf.org/mailman/listinfo/hybi
Archive: http://www.ietf.org/mail-archive/web/hybi/current/maillist.html

Description of Working Group:

HTTP has most often been used as a request/response protocol, leading to
clients polling for new data, or users hitting the refresh button in their
browsers. Recent web applications are finding ways to communicate with web
servers in realtime, pushing data from the server-side to the client as
soon as it is available. However, these applications at present can only
use a variety of HTTP mechanisms (e.g. long polling requests) to
communicate with web servers bidirectionally.

The Hypertext-Bidirectional (HyBi) working group will seek
standardization
of one approach to maintain bidirectional communications between the HTTP
client, server and intermediate entities, which will provide more
efficiency compared to the current use of hanging requests.

A general approach is preferred, with abstract semantics that can apply
to
a large number of applications.

The Web is the design space into which the solution will be deployed.
Since the existing Web is much more complicated that it seems, the working
group will document how it works first, with special attention to deployed
infrastructure (e.g. web clients, intermediaries, firewalls, NATs, web
servers) and programming environments.

New features will be required of clients, servers, or intermediaries
allowing a more scalable and robust end-to-end experience.

Although multiple protocols exist as starting points, backward
compatibility with these protocols is not a requirement.

In particular, the working group has liaised with the W3C WebApps working
group around the WebSockets protocol and the need to support the WebSocket
API; as agreed by both parties, the HyBi working group will take on prime
responsibility for the specification of the WebSockets protocol, taking
into consideration all the requirements, needs and eventual concerns
raised by the W3C WebApps working group.  The
draft-hixie-thewebsocketprotocol "The Web Socket protocol" is considered
as the input document for the working group.

Wide browser support is a goal for the bidirectional communication
mechanism, however the solution should also be suitable for clients other
than Web Browsers.  The Working Group will work to standardize a generic
solution that can work efficiently in as many of the deployed environments
as possible and in particular in all the elements of the web
infrastructure (e.g. web browser, generic HTTP client, HTTP server and
HTTP-aware intermediaries like proxies, load balancers, caches, etc.) and
it is not specific for just one.

The Working Group should consider:
* Implementer experience
* Impact on existing implementations and deployments
* Ability to achieve broad implementation
* Ability to address broader use cases than those covered in the input
document

The Working Group will produce one or more documents suitable for
consideration as Proposed Standard that will:
* Define a characterization of the design space
* Define a solution for the bidirectional web communication

Goals and Milestones:
---------------------
Apr 2010 - Submit a document as a working group item describing the
Web Socket requirements (draft-hixie-thewebsocketprotocol will be used
as a starting point for further work.)
Apr 2010 - Submit 'The Web Socket protocol' as working group item
(draft-hixie-thewebsocketprotocol will be used as a starting point for
further work.)
Jul 2010 - Start Working Group Last Call on the WebSocket requirements
Jul 2010 - Submit a document as a working group item describing the
Design Space characterization
Sep 2010 - Submit the 'Web Socket requirements' to the IESG for
consideration as an Informational document
Nov 2010 - Start Working Group Last Call on the Design Space
characterization
Nov 2010 - Start of discussion about Web Socket extensions the group
should work on
Dec 2010 - Submit the 'Design Space characterization' to the IESG for
consideration as an Informational document
Mar 2011 - Start Working Group Last Call on 'The Web Socket protocol'
Mar 2011 - Prepare milestone update to start new work within the scope
of the charter
Apr 2011 - Submit the 'The Web Socket protocol' to the IESG for
consideration as a Proposed Standard
May 2011 - Close or recharter