Delta Compression and UTF-8 Header Values

Just going through more implementation details of the proposed delta
encoding... one of the items that had come up previously in early
http/2 discussions was the possibility of allowing for UTF-8 header
values. Doing so would allow us to move away from things like
punycode, pct-encoding, Q and B-Codecs, RFC 5987 mechanisms, etc it
would bring along a range of other issues we would need to deal with.

One key challenge with allowing UTF-8 values, however, is that it
conflicts with the use of the static huffman encoding in the proposed
Delta Encoding for header compression. If we allow for non-ascii
characters, the static huffman coding simply becomes too inefficient
and unmanageable to be useful. There are a few ways around it but none
of the strategies are all that attractive.

So the question is: do we want to allow UTF-8 header values? Is it
worth the trade-off in less-efficient header compression? Or put
another way, is increased compression efficiency worth ruling out
UTF-8 header values?

(Obviously there are other issues with UTF-8 values we'd need to
consider, such as http/1 interop)

- James

Received on Friday, 8 February 2013 19:28:51 UTC