SlideShare a Scribd company logo
1 of 17
Download to read offline
HTTP 2.0のヘッダ圧縮(HPACK)	
2013年10月17日	
	
	
藤沢 淳	
fujisawa.jun@canon.co.jp
自己紹介
p  W3C
n 

SVG WG(2000年~)	

HTML5を構成するW3C標準の
Webベクトルグラフィック

	

p  W3C
n 

EXI WG(2008年~)	

テキストXMLと相互変換可能な
W3C標準のバイナリXML	

	

p  IETF
n 

HTTPbis WG(2013年~)	

HTTP 2.0のヘッダ圧縮仕様案
(Header Diff/Reference Set/HPACK)
HTTP 2.0の標準化
p  複雑化への懸念	

テキストベースのプロトコルとしてのシンプルさが失われる?	
n  HTTPクライアント・サーバを簡単に実装できなくなる?
n  HTTPがステートフルなプロトコルになってしまう?
n 

p  発表のゴール

HTTPヘッダ圧縮のベースになったEXIを簡単に説明
n  SPDYヘッダのEXI圧縮からHPACKに至る経緯を紹介
n  HTTP 2.0への期待と不安を共有
n 

ご意見・フィードバックを歓迎します
EXIのトークン符号化
p  要素・属性を学習して最少ビットで符号化	
<company>
<person id = "0001">
</person>
<person id = "0002">
</person>

XMLの構造	
 符号化ビット	
9 1 0 6 9 a 1 d 1	
0 2 person 0 1 id

バイナリXML	

STEP 1
テキストXML	

EE
AT
SE
CH

*
*
 

 
  

0 0
  0 1
0 2
0 3

ビルトインの符号化規則	

ビルトインの規則で符号化	

STEP 2
符号化規則を学習	

91069a1d1
0 2 person 0 1 id
d10

<company>
<person id = "0001">
</person>
<person id = "0002">
</person>

バイナリXML	

STEP 3
学習した規則で符号化	
テキストXML	

XMLの構造	
 符号化ビット	
AT
SE
EE
AT
SE
CH

id
0
person   1
2 0
*
2 1
*
2 2
2 3

学習した符号化規則
EXIのデータ型適合コーデック
p  11種類のビルトインデータ型を提供
XMLでは
すべての
データが
文字列

<data>
<count>65536</count>
<count>12345</count>

91 06 9a 1d 1d
1c 0e 7b cb dd
dd dd cb 9b cc

<value>0.12345</value>
<value>-1.234</value>

cb 9b cb 05 cb
cc 8c fc 03 0b

Integer型で	
符号化	

Float型で	
符号化	

バイナリXML

テキストXML

p  整数と浮動小数のエンコード
Integer型
整数サイズに応じて可変長で符号化
Float型
指数部と化数部に分けてそれぞれ
可変長のInteger型で符号化	

"1 2 3 4 5 " (5バイト)
"0 . 1 2 3 4 5" (7バイト)	

テキストXML

10111001
01100000 (2バイト)
10111001
01100000
11111011 (3バイト)

バイナリXML
EXI圧縮のメカニズム
p  イベントのチャネル分割	

XMLデータ構成要素の種類でチャネル分割
	

p  圧縮ストリームの生成	

ブロック単位で整列化した後にGZIP圧縮
SPDYヘッダのEXI圧縮
p  SPDYヘッダフォーマット
ヘッダ項目数
	
全体を
GZIP圧縮

ヘッダの名前
	
ヘッダの値
	

+------------------------------------+
	
| Number of Name/Value pairs (int32) |
	
+------------------------------------+
	
|     Length of name (int32)         |
	
+------------------------------------+
	
|           Name (string)            |
	
+------------------------------------+
	
|     Length of value (int32)       |
	
+------------------------------------+
	
|          Value   (string)          |
	
+------------------------------------+
	
|           (repeats)                |
	

p  HTTPヘッダのEXI表現	
url: index.html
user-agent: my-agent
x-my-header: first

<url>index.html
</url>
<user-agent>my-agent
</user-agent>
<x-my-header>first
</x-my-header>

HTTPヘッダ

テキストXML

91
1c
dd
cb
cc

06
0e
dd
9b
8c

9a
7b
cb
cb
fc

1d
cb
9b
05
03

1d
dd
cc
cb
0b

バイナリXML
HTTPヘッダの冗長性
p  共通ヘッダ項目のインデックス化が有効	
Google Response #1

Similarity

Google Response #2

Status

200 OK

SAME

Status

200 OK

Version

HTTP/1.1

SAME

Version

HTTP/1.1

Server

Chunked Update Server

SAME

Server

Chunked Update Server

Cache-Control

public,max-age=172800

SAME

Cache-Control

public,max-age=172800

X-XSS-Protection

1; mode=block

SAME

X-XSS-Protection

1; mode=block

Date

22 Feb 2011 09:38:55 GMT

DIFF

Date

22 Feb 2011 09:38:17 GMT

Age

12

DIFF

Age

51

Content-Length

765

DIFF

Content-Length

7907

HTTPサーバのレスポンスは同一のヘッダ項目から構成されていることが多い
Header Diffの誕生
p  ヘッダテーブルと名前テーブルを定義	

リクエストヘッダとレスポンスヘッダのテーブルは独立	
n  ヘッダテーブルにはヘッダ名とヘッダ値のペアを登録
n  名前テーブルにはヘッダ名を登録(ヘッダ名のインデックス化)
n  よく使うヘッダ名を名前テーブルの先頭にあらかじめ定義
n 

Index	

Header Name	

Index	

Header Name	

0	

accept	

0	

age	

1	

accept-charset	

1	

cache-control	

2	

accept-encoding	

2	

content-length	

3	

accept-language	

3	

content-type	

4	

cookie	

4	

date	

…	

…	

…	

…	

36	

warning	

35	

www-authenticate	

リクエスト名前テーブル

レスポンス名前テーブル
Header Diffのインデックス処理
p  ヘッダテーブルの内容との差分情報を送信	

新規のヘッダ項目はリテラル表現(ヘッダテーブルに追加)
n  既出のヘッダ項目はインデックス表現(ヘッダテーブルは不変)
n  値が異なるヘッダ項目はデルタ表現(ヘッダテーブルを更新)
n 

[リクエスト①]
url: index.html
user-agent: myagent
x-my-header: first

リテラル
	
リテラル
	
リテラル
	

[リクエスト②]
url: script.js
user-agent: myagent
x-my-header: second

デルタ
	
インデックス
	
リテラル
	

Index	

Header Name	
 Value	

Index	
 Header Name	
 Value	

0	

url	

index.html	

0	

url	

script.js	

1	

user-agent	

my-agent	

1	

user-agent	

my-agent	

2	

x-my-header	
 first	

2	

x-my-header	
 first	

…	

3	

x-my-header	
 second	

リクエスト①処理後のヘッダテーブル

リクエスト②処理後のヘッダテーブル
Header Diffのフォーマット
p  基本データ型のエンコーディング	

文字列は文字列長と
UTF-8文字列で表現
n  整数はプレフィクス
付きの可変長表現
n 

10

I=10

1337 

I=1337

xxx01010

I<31

xxx11111
10011010
00001010

I>=31

プレフィクスが5ビットの場合の例

p  ヘッダフレームのエンコーディング	
Pattern	
 Representation	

6種類のヘッダ表
現形式(リテラル・
インデックス・デルタ
、テーブル追加の
有無)を先頭ビット
パターンで判別

1 0	

Short Indexed Header (<64)	

1 1	

Long Indexed Header (>=64)	

0 0 0	

Literal Header without Indexing	

0 0 1	

Literal Header with Indexing	

0 1 0	

Delta Header without Indexing	

0 1 1	

Delta Header with Indexing	

先頭ビットパターンとヘッダ表現形式
Header Diffの評価結果
p  GZIP圧縮を用いずにSPDYに迫る圧縮効果を実現

GZIP圧縮と組み合わせること更に高圧縮が可能
n  4KB程度のテーブルサイズでも十分な効果を発揮
n 
HPACKへの進化
p  ヘッダテーブルに加えてリファレンスセットを導入	

リクエストヘッダとレスポンスヘッダのテーブルは独立	
n  よく使うヘッダ項目をヘッダテーブルの先頭にあらかじめ登録
n  リファレンスセットには直前に利用したヘッダ項目を保持
n  ヘッダ項目が前回と同一の場合は差分情報は不要
n 

Index	
 Header Name	

Value	

Index	
 Header Name	

Value	

0	

:scheme	

http	

0	

:status	

200	

1	

:scheme	

https	

1	

age	

2	

:host	

2	

cache-control	

3	

:path	

/	

3	

content-length	

4	

:method	

GET	

4	

content-type	

…	

…	

…	

…	

29	

via	

29	

wwwauthenticate	

リクエストヘッダテーブル

レスポンスヘッダテーブル
HPACKのインデックス処理
p  リファレンスセットの内容との差分情報を送信	

新規のヘッダ項目はリテラル表現(ヘッダテーブルに追加)
n  既出のヘッダ項目はインデックス表現(ヘッダテーブルは不変)
n  値が異なるヘッダ項目もリテラル表現(ヘッダテーブルを更新)
n 

[リクエスト①]
:path: index.html
user-agent: myagent
x-my-header: first
Index	

リテラル
	
リテラル
	
リテラル
	

Header Name	
 Value	

…	

[リクエスト②]
:path: script.js
user-agent: myagent
x-my-header: second

リテラル
	
インデックス
	
リテラル
	

Index	
 Header Name	
 Value	
38	

:path	

script.js	
my-agent	

38	

:path	

index.html	

39	

user-agent	

39	

user-agent	

my-agent	

40	

x-my-header	
 first	

40	

x-my-header	
 first	

41	

x-my-header	
 second	

リクエスト①処理後のヘッダテーブル

リクエスト②処理後のヘッダテーブル
HPACKのフォーマット
p  基本データ型のエンコーディング	

ヘッダの名前は文字列長とASCII文字列で表現
n  ヘッダの値は文字列長とUTF-8文字列で表現
n  整数はプレフィクス付きの可変長表現
n  日付型の専用エンコーディングの可能性も検討中
n 

p  ヘッダフレームのエンコーディング	
4種類のヘッダ表現
形式(インデックス、
テーブル追加・追加
なし・置換のリテラル
)を判別

Pattern	
 Representation	
1	

Indexed Header	

0 1 1	

Literal Header without Indexing	

0 1 0	

Literal Header with Incremental Indexing	

0 0	

Literal Header with Substitution Indexing	

先頭ビットパターンとヘッダ表現形式
今後の検討課題
p  ヘッダ圧縮機能の課題	

ヘッダテーブルのサイズ制限の決定方法
n  ヘッダテーブルに登録するヘッダ項目の決定方法
n  あらかじめ登録するヘッダ項目の選択と優先度の決定
n  クライアントとサーバ間でのテーブル不整合への対応?
n  HTTPのバージョンアップや新しいヘッダ項目への対応?
n 

	

p  複雑化への懸念
n 

HTTPのヘッダ圧縮機能は必ずしも難しくない?
参考資料
p  Header

Diff: A compact HTTP header
representation for HTTP/2.0
n 

tools.ietf.org/id/draft-ruellan-headerdiff-00.txt

p  HTTP/2.0:
n 

tools.ietf.org/id/draft-ruellan-reference-setdefinition-00.txt

p  HPACK
n 

Header Reference Set Definition

- Header Compression for HTTP/2.0

tools.ietf.org/id/draft-ietf-httpbis-headercompression-03.txt

More Related Content

What's hot

PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)NTT DATA Technology & Innovation
 
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介Juniper Networks (日本)
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動Kohei Tokunaga
 
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...Yasunori Goto
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会Yushiro Furukawa
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)NTT DATA Technology & Innovation
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてNobuyuki Sasaki
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 
Coredns nodecache - A highly-available Node-cache DNS server
Coredns nodecache - A highly-available Node-cache DNS serverCoredns nodecache - A highly-available Node-cache DNS server
Coredns nodecache - A highly-available Node-cache DNS serverYann Hamon
 
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜Takuya Miyasaka
 

What's hot (20)

PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
 
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介
【Interop Tokyo 2022】ここが見どころ!ジュニパーのShowNetにおける取組みご紹介
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
 
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
Coredns nodecache - A highly-available Node-cache DNS server
Coredns nodecache - A highly-available Node-cache DNS serverCoredns nodecache - A highly-available Node-cache DNS server
Coredns nodecache - A highly-available Node-cache DNS server
 
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
 

Viewers also liked

Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜Kaoru Maeda
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Coreslankdev
 
OpenTypeカラーフォントと関連技術の動向
OpenTypeカラーフォントと関連技術の動向OpenTypeカラーフォントと関連技術の動向
OpenTypeカラーフォントと関連技術の動向Jun Fujisawa
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれからshigeki_ohtsu
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016 slankdev
 
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT slankdev
 

Viewers also liked (9)

HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
 
HTTP/2, QUIC入門
HTTP/2, QUIC入門HTTP/2, QUIC入門
HTTP/2, QUIC入門
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Core
 
OpenTypeカラーフォントと関連技術の動向
OpenTypeカラーフォントと関連技術の動向OpenTypeカラーフォントと関連技術の動向
OpenTypeカラーフォントと関連技術の動向
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれから
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT OSC2016 Tokyo/Spring LT
OSC2016 Tokyo/Spring LT
 

Similar to HTTP 2.0のヘッダ圧縮(HPACK)

第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編ksimoji
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策Kensaku Komatsu
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要Shumpei Shiraishi
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21Takakiyo Tanaka
 
【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来Developers Summit
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話shigeki_ohtsu
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計Kazuho Oku
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocketAdvancedTechNight
 
Ietf97 ソウル報告
Ietf97 ソウル報告Ietf97 ソウル報告
Ietf97 ソウル報告yuki-f
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2Takao Tetsuro
 
最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策Kensaku Komatsu
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"Masaya Aoyama
 

Similar to HTTP 2.0のヘッダ圧縮(HPACK) (20)

第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
 
【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来【17-A-5】ウェブアーキテクチャの歴史と未来
【17-A-5】ウェブアーキテクチャの歴史と未来
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
Ietf97 ソウル報告
Ietf97 ソウル報告Ietf97 ソウル報告
Ietf97 ソウル報告
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
Wasm blazor and wasi 2
Wasm blazor and wasi 2Wasm blazor and wasi 2
Wasm blazor and wasi 2
 
最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
 
nginx入門
nginx入門nginx入門
nginx入門
 

More from Jun Fujisawa

OpenTypeカラーフォントの標準化
OpenTypeカラーフォントの標準化OpenTypeカラーフォントの標準化
OpenTypeカラーフォントの標準化Jun Fujisawa
 
SVG標準化の最新動向
SVG標準化の最新動向SVG標準化の最新動向
SVG標準化の最新動向Jun Fujisawa
 
WebフォントとSVGフォント
WebフォントとSVGフォントWebフォントとSVGフォント
WebフォントとSVGフォントJun Fujisawa
 
SVGフォントを使った外字表現
SVGフォントを使った外字表現SVGフォントを使った外字表現
SVGフォントを使った外字表現Jun Fujisawa
 
User Defined Characters Solution Proposal
User Defined Characters Solution ProposalUser Defined Characters Solution Proposal
User Defined Characters Solution ProposalJun Fujisawa
 
User Defined Characters and SVG Fonts
User Defined Characters and SVG FontsUser Defined Characters and SVG Fonts
User Defined Characters and SVG FontsJun Fujisawa
 
WebアプリプラットフォームとしてのHTML5とSVG
WebアプリプラットフォームとしてのHTML5とSVGWebアプリプラットフォームとしてのHTML5とSVG
WebアプリプラットフォームとしてのHTML5とSVGJun Fujisawa
 

More from Jun Fujisawa (8)

OpenTypeカラーフォントの標準化
OpenTypeカラーフォントの標準化OpenTypeカラーフォントの標準化
OpenTypeカラーフォントの標準化
 
SVG標準化の最新動向
SVG標準化の最新動向SVG標準化の最新動向
SVG標準化の最新動向
 
WebフォントとSVGフォント
WebフォントとSVGフォントWebフォントとSVGフォント
WebフォントとSVGフォント
 
SVGフォントを使った外字表現
SVGフォントを使った外字表現SVGフォントを使った外字表現
SVGフォントを使った外字表現
 
User Defined Characters Solution Proposal
User Defined Characters Solution ProposalUser Defined Characters Solution Proposal
User Defined Characters Solution Proposal
 
User Defined Characters and SVG Fonts
User Defined Characters and SVG FontsUser Defined Characters and SVG Fonts
User Defined Characters and SVG Fonts
 
RobinとWidgeon
RobinとWidgeonRobinとWidgeon
RobinとWidgeon
 
WebアプリプラットフォームとしてのHTML5とSVG
WebアプリプラットフォームとしてのHTML5とSVGWebアプリプラットフォームとしてのHTML5とSVG
WebアプリプラットフォームとしてのHTML5とSVG
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Recently uploaded (8)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

HTTP 2.0のヘッダ圧縮(HPACK)