Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QPACK って何?/What is QPACK?
Search
Kattyan
June 11, 2023
Technology
0
660
QPACK って何?/What is QPACK?
Kattyan
June 11, 2023
Tweet
Share
More Decks by Kattyan
See All by Kattyan
gVisorを使おう!/ Let's use gVisor!
sou1118
0
160
スライド操作用リモコンを作った話/Making-a-remote-control-for-slide-operation
sou1118
0
350
マイナンバーカードを用いた認証について/Authentication-using-the-My-Number-Card
sou1118
0
750
マイナンバーカードの有効利用法を探る / Finding-ways-to-use-my-number-card
sou1118
0
280
少し幸せになれるスマートなリモコンを作る / Making-a-Smart-remote-controller
sou1118
0
340
Other Decks in Technology
See All in Technology
ハッカー視点で学ぶサイバー攻撃と防御の基本
nomizone
0
1.2k
Test Smarter, Not Harder: Achieving Confidence in Complex Distributed Systems
eliasnogueira
1
150
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
300
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
120
OpenJDKエコシステムと開発中の機能を紹介 2025夏版
chiroito
2
1.3k
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
demaecan
0
250
Roo CodeとClaude Code比較してみた
pharma_x_tech
1
230
産業機械をElixirで制御する
kikuyuta
0
130
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
400
Generational ZGCのメモリ運用改善 - その物理メモリ使用量、本当に正しい?
tabatad
1
300
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
型システムを知りたい人のための型検査器作成入門
mame
14
3.4k
Featured
See All Featured
A better future with KSS
kneath
239
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
640
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
We Have a Design System, Now What?
morganepeng
52
7.6k
Practical Orchestrator
shlominoach
188
11k
KATA
mclloyd
29
14k
Building Adaptive Systems
keathley
43
2.6k
The Invisible Side of Design
smashingmag
299
50k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
870
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Transcript
QPACK って何? Kattyan 2023/6/2 - RICORA LT © 2023 sou1118
1
QUIC って何なの? ネットワークにおけるトランスポート層の通信プロトコルの 1 種 簡単に言えば,TLS1.3, HTTP/2, TCP を組み合わせ,UDP 上で動くプ
ロトコル 基本的に QUIC がサーバサイド,ブラウザ双方ともに対応していたら 自動的に使われる TCP のような 3 way handshake が不要で,HTTP/2 のようなヘッダ 圧縮が可能 2023/6/2 - RICORA LT © 2023 sou1118 2
HTTP/2 におけるヘッダ圧縮と問題点 HTTP/2 ではヘッダ圧縮のために HPACK というアルゴリズムが用い られている HPACK はヘッダのキーと値をハフマン符号化し,ヘッダの重複を排除 することで圧縮を行う
しかし,HPACK はヘッダの重複を排除するために,ヘッダの順序を保 持する必要がある そのため順序依存性が、一部の環境で問題を引き起こす可能性がある 2023/6/2 - RICORA LT © 2023 sou1118 3
QPACK とは QUIC におけるヘッダ圧縮アルゴリズム HTTP/2 における HPACK と同様にヘッダのキーと値をハフマン符号 化し,ヘッダの重複を排除することで圧縮を行う HPACK
との違いは,ヘッダの順序に依存しないこと これにより,HTTP/3(HTTP over QUIC) と QUIC の特性を最大限に 活かすことが出来,ヘッダの圧縮効率を向上させることが可能 通信パケットが順不同で到着したり,一部のパケットが失われたりして も他パケットの遅延が起きない 2023/6/2 - RICORA LT © 2023 sou1118 4