HTTPのUnencoded-Digestヘッダの提案仕様

IETFで『HTTP Unencoded Digest』という提案仕様がWG Last callになっている。

HTTP Unencoded-Digestヘッダは、Content-Encodingでエンコードする前のデータのダイジェストを表すことが出来る。
例えば、gzip圧縮をかけている場合でも、エンコード前のデータに関して下記のように表せる。

Content-Encoding: gzip
Unencoded-Digest: 
    sha-256=:d435Qo+nKZ+gLcUHn7GQtQ72hiBVAgqoLsZnZPiTGPk=:,
    sha-512=:YMAam51Jz/jOATT6/zvHrLVgOYTGFy1d6GJiOHTohq4yP+pgk4vf2aCs
    yRZOtw8MjkM7iw7yZ/WkppmM44T3qg==:

(見易さのために改行している)

ユースケース

シンプルなユースケースとして以下の例が挙げられる

RFC 9421 HTTP Message Signatures』で署名をつけるときに、エンコード前のUnencoded-Digestヘッダに対して署名をすることで、CDNやプロキシでの再エンコーディング(broteliなど)が行えるようになる