SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
HTTP2 入門
杉浦 颯太
アジェンダ
• HTTPのおさらい
• About HTTP/2
- フレーム通信
- バイナリ
- 通信の多重化
- サーバプッシュ
• HTTP/2で変えるべきこと
• 参考資料
HTTPのおさらい
HTTPで掴むべきポイントを
復習しましょう
HTTPはWebのための技術
• HTTPはWeb上で 文書 をやり取りするために生まれた
• 文書 とは主にHTMLのこと
• HTMLとHTTPは兄弟
• この当時の 文書 にWebアプリケーションは含まれない
Webを支えるHTTP
• Webのトラフィックはほぼ全てHTTP通信
- ブラウザからサイトにアクセス
- APIを叩いてデータを取得(JSON, XML, SOAP)
- 掲示板にコメントを投稿
HTTP on TCP/IP
• HTTPはTCP/IPの上に成り立つプロトコル
• サーバとクライアントが会話するための取り決め
• 通信相手の特定はIP、データ配達はTCPの役割
- HTTPは相手がどこにいる誰かを意識しない
HTTPの実態はテキストデータ
GET /top/login HTTP/1.1
User-Agent: Telnet [ja]
Host: sota1235.com
name=sota&hobby=aiko
HTTP/1.1 200 OK
Date: Tue, 10 Jul 2015 06:50:15
GMT

Content-Length: 362
Content-Type: text:html
<html>
………
HTTPリクエスト HTTPレスポンス
HTTP is Simple
• HTTPはプロトコル
• プロトコルとはメッセージのルール
• ルールに従うパーサーを書けばHTTPサーバ/クライアントの出来上がり
- 自前で実装したりすると勉強になります
• クライアントは リクエスト を送る
• サーバは レスポンス を返す
HTTP is Stateless
• HTTPはステートレスなプロトコル
• クライアント、サーバは通信内容を覚えない
• 覚えさせたきゃ 🍪を使おう
More…
SlideShare: HTTP入門
https://www.slideshare.net/sotasugiura/http-51090035
About HTTP/2
HTTP/1.xから変わらないこと
• HTTP on TCP/IP
• 通信はクライアントのリクエストから始まる
HTTP/2で変わること
• 通信単位がHTTPメッセージからフレームに
• メッセージをバイナリに圧縮可能
• 一部でステートフルな通信を行う
• 多重通信が可能に
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
フレーム通信①
• HTTP/2での通信単位はフレーム
• 何種類かのフレームとやり取りして通信を行う
• フレームにはストリームIDが割り当てられる
フレーム通信②
• HEADERフレーム
- HTTP/1.xのヘッダー部分
• DATAフレーム
- HTTP/1.xのボディ部分
• PRIORITYフレーム
- 優先度制御を行う
• PUSH_PROMISEフレーム
- サーバプッシュ制御
• RST_STREAMフレーム
- ストリーム通信の終了を知らせる
例:HEADERフレーム
フレーム通信③
:method = GET

:scheme = https
:path = /resource
host = example.org
accept = image/jpg
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
通信の多重化
• HTTP/1.xでの通信は1リクエストに1レスポンス
• レスポンスが返るまで次のリクエストは飛ばせない
• 1つのTCP通信に1つのHTTP通信
• 多くのブラウザは6つのTCP通信を並列することで
擬似的にHTTP通信を多重化している
on HTTP/1.xクライアント サーバ
HTTPリクエスト
HTTPレスポンス
on HTTP/1.xクライアント サーバ
HTTPリクエスト
HTTPレスポンス
HTTPリクエストその2
HTTP/1.xの多重化
HTTP/1.xの多重化
並列でリクエストしてる
HTTP/1.xの多重化
• HTTP/1.xに並列通信の仕組みはない
- 厳密にはあるが存在が空気
• 6本のTCP通信を並列することで擬似的に並列通信
している
• どうあがいても1RTT = 6リクエスト/レスポンス
それ、並列化しようぜ!
on HTTP/2クライアント サーバ
HTTP/2の場合
• レスポンスを任意のタイミングで返すことができる
- これにより細やかな順序制御が可能に!
• クライアントはレスポンスを待たずにフレームを送
信できる
• どれがどれに対応するかはストリームIDで確認
参考
https://www.symfony.fi/entry/compare-
resource-loading-between-http-2-and-http-1-1
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
バイナリメッセージ
• HTTP/2の通信はバイナリで行うことが可能です
バイナリの恩恵
• 実装による解釈の差が出にくい
- HTTP/1.xでは実装によってメッセージの解釈に差が出ていた
- そこから脆弱性が発生することもしばしば
- 有名どころだとBREACH攻撃とか
- 参考:めんどうくさいWebセキュリティ
• 通信量が減る
- HTTP/1.xではgzip圧縮がデファクト
オーバーヘッド削減
• HTTP/1.xでのメッセージにはオーバーヘッドが
あった
• これがバイナリとHPACKで圧縮することが可能に
なった
HTTP/1.xの無駄
例:画像を3枚取得する
HTTP/1.xの無駄
/a.pngを取得
GET /a.png HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;)
Host: www.xxx.zzz
Connection: Keep-Alive
HTTP/1.xの無駄
/b.pngを取得
GET /b.png HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;)
Host: www.xxx.zzz
Connection: Keep-Alive
HTTP/1.xの無駄
/c.pngを取得
GET /c.png HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;)
Host: www.xxx.zzz
Connection: Keep-Alive
HTTP/1.xの無駄
/c.pngを取得
GET /c.png HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;)
Host: www.xxx.zzz
Connection: Keep-Alive
HTTP/1.xにおけるオーバーヘッド
• 同じヘッダーを通信の回数だけやりとりする
• 前回と差異のある情報は少ないことが多い
• 『このヘッダーはさっきと同じだよ!』と知らせる
ことができれば無駄が減るはず…
バイナリメッセージ on HTTP/2
• HTTP/2では通信をバイナリで行うことが可能
• 使用頻度の高いヘッダーフィールドはあらかじめ番
号が定義されている
- 例: :method GET => 2
• 一度送信したものもその場で動的に番号を割り当て、
定義する
/ にアクセス
HTTP/2の場合
:method = GET

:scheme = https
:path = /
host = example.org
accept = image/jpg
02

07
04
38 example.org
19 image/jpg
/a.png にアクセス
HTTP/2の場合
:method = GET

:scheme = https
:path = /a.png
host = example.org
accept = image/jpg
02

07
04 a.png
62
63
通信量減った\(^o^)/
• これにより最大5%まで圧縮が可能になった
• HTTP/2通信開始時に送るSETTINGフレームで記憶する
ヘッダーの数を指定できる
- 一部ステートフル
• 圧縮にはハフマンコーディングという技術が使われている
- [検索] [ HPACK ]
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
サーバプッシュ
• サーバがレスポンスを返す際、予測できるリクエス
トが存在する
• それらをあらかじめ送ることを予測してリクエスト
を待たずに送信するのがサーバプッシュ
サーバプッシュクライアント サーバ
/index.htmlください
あいよ
サーバプッシュクライアント サーバ
/index.htmlください
あいよ
style.cssとscript.jsもいるよね?この後送るわ
サーバプッシュクライアント サーバ
/index.htmlください
あいよ
style.cssとscript.jsもいるよね?この後送るわ
リクエストを待たずに送信!
サーバプッシュ
• これにより通信回数が減る
• きちんと送信されたかどうかの担保はHTTP/2の仕
組みがきちんと管理してくれる
About HTTP/2
• フレーム通信
• 通信の多重化
• バイナリメッセージ
• サーバプッシュ
• 優先度制御
優先度制御
• ユーザにWebページを届ける時、一番大事なのは
ページが表示されるまでの時間
• それを縮めるための技術が優先度制御
優先度制御
• HTTP/2対応サーバはクライアントが指定した優先
度に従ってレスポンスを返す
• これにより描画に必要なCSSファイルを優先して取
得等の処理が可能になった
• 優先度の指定の仕方はクライアントにより異なる
優先度制御
• 優先度制御の指定方法は主に以下の2つ
- リソース同士が依存した木構造
- 数字による重み付け
• 現状、有効な優先度制御を行うブラウザはFireFox
のみ
HTTP/2で変えるべきこと
HTTP/1.xは古い
• HTTP/1.xは激しく変わるこの時代に対してとても古い
技術
- 策定されたのはなんと18年前
• 増えるリソース量、求められるレスポンスの速さを実現
するにはHTTP/1.xの技術だけでは限界があった
Hack HTTP/1.x
• 限界突破するために実に様々なHACKが行われてきた
- asset pipelines
- Domain Sharding
- CSS Sprite
• これらはHTTP/2の登場によりオワコンになります
(^q^)
asset pipelines/CSS Sprite
• 多重通信&優先度制御が可能になったので引退
• 理由
- 不要なデータがくっついている
- ファイルの一部を変更すると全て再転送しなくてはいけない
Domain Sharding
• ブラウザでは1ドメインにつき6本のTCP通信を張る
• リソースを違うドメインでばらけさせることで6本の壁
を越える技術
Domain Sharding
• HTTP/2はTCPをまたぐことができない
• ドメインがバラけると優先度制御や多重通信の恩恵を受
けられない
- 結果、遅くなる
• CDNサーバを利用する場合、CDN経由でアプリケー
ションにアクセスできるようにしましょう
参考資料
参考資料
• HTTP/2時代のウェブサイト設計
https://www.slideshare.net/kazuho/http2-51888328
• HTTP/2 Draft 16 日本語訳
http://blog.summerwind.jp/archives/2548
あわせて知りたい
• SPDY
• QUIC
• HTTP/1.x
• h2o

Contenu connexe

Tendances

WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装tnoho
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかtechlog (Internet Initiative Japan Inc.)
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろうShingo Omura
 
go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるものcch-robo
 
ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編Yuya Rin
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すKenichiro MATOHARA
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streamingHung Thai Le
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門Yoshitaka Seo
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかJun Kato
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 

Tendances (20)

WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろう
 
go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるもの
 
ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streaming
 
IIJmio meeting 9 IIJのモバイル&バックボーンインフラ
IIJmio meeting 9 IIJのモバイル&バックボーンインフラIIJmio meeting 9 IIJのモバイル&バックボーンインフラ
IIJmio meeting 9 IIJのモバイル&バックボーンインフラ
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
IIJmio meeting 16 「通信速度」に影響を与える要素とは
IIJmio meeting 16 「通信速度」に影響を与える要素とはIIJmio meeting 16 「通信速度」に影響を与える要素とは
IIJmio meeting 16 「通信速度」に影響を与える要素とは
 

En vedette

「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデルSota Sugiura
 
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
 
Http2入門の入門
Http2入門の入門Http2入門の入門
Http2入門の入門Net Kanayan
 
Web Audio API 入門
Web Audio API 入門Web Audio API 入門
Web Audio API 入門Sota Sugiura
 
Web Audio APIの初歩
Web Audio APIの初歩Web Audio APIの初歩
Web Audio APIの初歩Shota Kubota
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)徹 上野山
 

En vedette (8)

「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル
 
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
 
Http2入門の入門
Http2入門の入門Http2入門の入門
Http2入門の入門
 
Web Audio API 入門
Web Audio API 入門Web Audio API 入門
Web Audio API 入門
 
Web Audio APIの初歩
Web Audio APIの初歩Web Audio APIの初歩
Web Audio APIの初歩
 
HTTP/2入門
HTTP/2入門HTTP/2入門
HTTP/2入門
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
 

Similaire à HTTP2入門

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiKeisuke Ishibashi
 
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話Naotoshi Seo
 
HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向Kazuho Oku
 
IETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjpIETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjpKaoru Maeda
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話shigeki_ohtsu
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計Kazuho Oku
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざいTetsuya Morimoto
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目Yukiko Kato
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話shigeki_ohtsu
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーHideo Kimura
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastKatsumi Onishi
 
HTTPの仕組みについて
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについてiPride Co., Ltd.
 

Similaire à HTTP2入門 (20)

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
 
HTTP/2.0と標準化
HTTP/2.0と標準化HTTP/2.0と標準化
HTTP/2.0と標準化
 
IETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjpIETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjp
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
 
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
Node の HTTP/2.0 モジュール iij-http2 の実装苦労話
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
 
ストリーミングのげんざい
ストリーミングのげんざいストリーミングのげんざい
ストリーミングのげんざい
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目
 
20120525 mt websocket
20120525 mt websocket20120525 mt websocket
20120525 mt websocket
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバー
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
 
Web基礎
Web基礎Web基礎
Web基礎
 
HTTPの仕組みについて
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについて
 

Plus de Sota Sugiura

TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015Sota Sugiura
 
コミットメッセージの話
コミットメッセージの話コミットメッセージの話
コミットメッセージの話Sota Sugiura
 
今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSSSota Sugiura
 
各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較Sota Sugiura
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話Sota Sugiura
 
Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話Sota Sugiura
 

Plus de Sota Sugiura (6)

TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015TechCrunchTokyo Hackathon 2015
TechCrunchTokyo Hackathon 2015
 
コミットメッセージの話
コミットメッセージの話コミットメッセージの話
コミットメッセージの話
 
今さら聞けないXSS
今さら聞けないXSS今さら聞けないXSS
今さら聞けないXSS
 
各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較各ブラウザでの均等割り付け比較
各ブラウザでの均等割り付け比較
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 
Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話Promiseでコールバック地獄から解放された話
Promiseでコールバック地獄から解放された話
 

HTTP2入門