Compression Extensions for WebSocket
draft-ietf-hybi-permessage-compression-28

Approval announcement
Draft of message to be sent after approval:

From: The IESG <iesg-secretary@ietf.org>
To: IETF-Announce <ietf-announce@ietf.org>
Cc: RFC Editor <rfc-editor@rfc-editor.org>,
    hybi mailing list <hybi@ietf.org>,
    hybi chair <hybi-chairs@ietf.org>
Subject: Protocol Action: 'Compression Extensions for WebSocket' to Proposed Standard (draft-ietf-hybi-permessage-compression-28.txt)

The IESG has approved the following document:
- 'Compression Extensions for WebSocket'
  (draft-ietf-hybi-permessage-compression-28.txt) as Proposed Standard

This document is the product of the BiDirectional or Server-Initiated
HTTP Working Group.

The IESG contact persons are Ben Campbell, Barry Leiba and Alissa Cooper.

A URL of this Internet Draft is:
https://datatracker.ietf.org/doc/draft-ietf-hybi-permessage-compression/


Technical Summary

This document specifies a framework for creating WebSocket 
extensions that add compression functionality to the WebSocket 
Protocol. Extensions based on this framework compress the payload 
of non-control WebSocket messages using a specified compression 
algorithm. One reserved bit RSV1 in the WebSocket frame header is 
allocated to control application of compression for each message. 
This document also specifies one specific compression extension 
using DEFLATE. 


Review and Consensus 

The compression extension has been discussed extensively within 
the HyBi group almost since the beginning of the WebSockets
standardization process.  Initially, the wg decided that in order to
maintain progress on WebSockets, it would not work on extensions
until the WebSocket spec was finished, so this waited for that to
happen.

The initial version of the compression spec was based on per-frame
compression, but at IETF84 in Vancouver (and as confirmed on the
mailing list), the HyBi WG decided to change from per-frame to
per-message compression.  There has not been any notable
controversy about this document.

Chrome supports the old per-frame deflate draft, and they plan
to update it to the current proposal soon.  pywebsocket supports 
permessage-compression-04, but needs some changes to extension 
parameter parsing to be compliant with -05.  The Jetty web server
also supports an earlier version of per-message compression.


Personnel
Salvatore Loreto is the document shepherd.
Barry Leiba is the responsible Area Director.