HPACK

提供: セキュリティ
2015年4月11日 (土) 00:34時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「HPACK とは、HTTP2で利用されるヘッダを圧縮するアルゴリズムです。HTTP/1.x系で課題だったHTTPヘッダのオーバーヘッドを削...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

HPACK とは、HTTP2で利用されるヘッダを圧縮するアルゴリズムです。HTTP/1.x系で課題だったHTTPヘッダのオーバーヘッドを削減し、差分データだけを送信します。

読み方

HPACK
えいち ぱっく

概要

HTTPプロトコルのリクエストヘッダは、冗長でした。HTTPヘッダで毎回変化しない(ときどきしか変化しない)UserAgentなどを送信していました。そのようなオーバーヘッダを削減するために、HPACKが開発されました。

ヘッダ圧縮の経緯

  • HTTP/1.x では、 UserAgent や HTTP cookieなど、繰り返し、同じ値を送信していて、オーバーヘッドになっていました。
  • SPDYでは、HTTPヘッダをgzipで圧縮しました。しかし、CRIME攻撃が見つかり、圧縮率を下げなければならなくなりました。
  • HTTP/2では、ヘッダの差分だけを送信するアルゴリズムのHPACKでヘッダを圧縮します。

用語

Reference Set
前回送信したヘッダ名と値のペアのセットをいいます。
Static Table
よく送信されるヘッダ名と値のペアにIDを設定したものを管理するテーブルです。クライアントとサーバで保持されます。送信時にヘッダがテーブルに存在するとき、設定されたIDを使用してヘッダを送信します。

関連項目




スポンサーリンク