The HTTP-NG working group has invested much of its energy in the development of the WebMUX standard for message transport. WebMUX is a sophisticated, high-performance message system, where messages can be transported in parallel across a multiplexed TCP connection. Individual message streams, produced and consumed at different rates, can efficiently be packetized and multiplexed over a single or small number of TCP connections (see Screenshot 10-2).

WebMUX can multiplex multiple messages over a single connection
WebMUX can multiplex multiple messages over a single connection
(Screenshot 10-2.)

Here are some of the significant goals of the WebMUX protocol:

·         Simple design.

·         High performance.

·         Multiplexing-Multiple data streams (of arbitrary higher-level protocols) can be interleaved dynamically and efficiently over a single connection, without stalling data waiting for slow producers.

·         Credit-based flow control-Data is produced and consumed at different rates, and senders and receivers have different amounts of memory and CPU resources available. WebMUX uses a "credit-based" flow-control scheme, where receivers preannounce interest in receiving data to prevent resource-scarcity deadlocks.

·         Alignment preserving-Data alignment is preserved in the multiplexed stream so that binary data can be sent and processed efficiently.

·         Rich functionality-The interface is rich enough to support a sockets API.

You can read more about the WebMUX Protocol at http://www.w3.org/Protocols/MUX/WD-mux-980722.html.

 


Hypertext Transfer Protocol (HTTP)