HTTP/3 and QPACK
HTTP RFC Publication Study
@bokken
1
About me
2
もくじ (持ち時間10分)
3
HTTP/3
4
HTTP/3 の歴史
5
HTTP/3 と HTTP/2, HTTP/1.1 の比較
6
HTTP/3 概念図
7
コネクションの確立
8
フレーム一覧
9
HTTP ボディ用の Frame
HTTP ヘッダ用の Frame
Server Push キャンセル用の Frame
コネクション設定用の Frame
サーバ Push 用の Frame
コネクション切断用の Frame
Push ID の上限を知らせる用の Frame
予約された Frame
HTTP Fields
10
コネクションのクローズ
11
※ HTTP/2 のときはパケロスでコネクションがうまく閉じられないことがあった
QPACK
12
QPACK
13
Fields を圧縮する方法
14
ハフマン符号化
15
※Appendix B. Huffman Code より抜粋
ハフマン符号を使う際の注意点
16
図: ビット長が長くなる記号の一例
図: Field Line のワイヤフレームの一例
静的テーブル | リファレンステーブル
17
図: Field Line のワイヤフレームの一例
動的テーブル | リファレンステーブル (1/2)
18
動的テーブルの具体例 | リファレンステーブル (2/2)
19
まとめ
20
HTTP_3_and_QPACK…
参考資料など
21
HTTP_3_and_QPACK…
補足: なぜ 4N なのか
22
ハフマン符号化
23
文字 | 回数 | 符号 |
A | 3 | 10 |
B | 2 | 110 |
C | 1 | 111 |
D | 4 | 0 |
例) AAABBCDDDD というデータを元にハフマン符号を作ると
1000001100000110000011000010100001010000111000100100010010001001000100 (80bit)�→1010101101101110000 (19bit)