SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ota42y
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドktateish
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろうShingo Omura
 
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかもうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかsuno88
 
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvmAkira Hayakawa
 
chatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfchatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfYamashitaKatsushi
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
ChatGPT は高階層の意味理解にはほど遠い?
ChatGPT は高階層の意味理解にはほど遠い?ChatGPT は高階層の意味理解にはほど遠い?
ChatGPT は高階層の意味理解にはほど遠い?Hide Koba
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考えるryuz88
 
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねSkywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねmganeko
 
Pythonでキャッシュを活用する話①
Pythonでキャッシュを活用する話①Pythonでキャッシュを活用する話①
Pythonでキャッシュを活用する話①iPride Co., Ltd.
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Takeo Noda
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...ksk_ha
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてLINE Corporation
 

Mais procurados (20)

ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説ruby-ffiについてざっくり解説
ruby-ffiについてざっくり解説
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
分散システムの限界について知ろう
分散システムの限界について知ろう分散システムの限界について知ろう
分散システムの限界について知ろう
 
家庭で使うSlack
家庭で使うSlack家庭で使うSlack
家庭で使うSlack
 
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったかもうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
 
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvm
 
chatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfchatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdf
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
ChatGPT は高階層の意味理解にはほど遠い?
ChatGPT は高階層の意味理解にはほど遠い?ChatGPT は高階層の意味理解にはほど遠い?
ChatGPT は高階層の意味理解にはほど遠い?
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考える
 
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねSkywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
 
Pythonでキャッシュを活用する話①
Pythonでキャッシュを活用する話①Pythonでキャッシュを活用する話①
Pythonでキャッシュを活用する話①
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべて
 

Destaque

「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル「データベース実践入門」から学ぶリレーショナルモデル
「データベース実践入門」から学ぶリレーショナルモデル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京都 機械学習勉強会)徹 上野山
 

Destaque (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京都 機械学習勉強会)
 

Semelhante a HTTP2入門

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiKeisuke Ishibashi
 
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話Naotoshi Seo
 
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
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
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
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastKatsumi Onishi
 

Semelhante a HTTP2入門 (20)

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
 
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
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
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 で作るメディアストリーミングサーバー
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
HTML5 VIDEO on Chromecast
HTML5 VIDEO on ChromecastHTML5 VIDEO on Chromecast
HTML5 VIDEO on Chromecast
 
Web基礎
Web基礎Web基礎
Web基礎
 

Mais 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
 

Mais 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入門