SlideShare a Scribd company logo
1 of 28
2016.10.06 社内勉強会 LT
再入門、サーバープッシュ技術
世嘉良 紳
• WebSocket は、クライアントとサーバー間の双方向通信を
目的として策定された通信規格
• HTTP とは別の TCP に基づく独立したプロトコル
• 2011.12.11 に RFC6455 で Proposed Standard (標準化提案
) され Socket.IO, WS など多数の実装がある
WebSocket について再入門
WebSocket の接続手順
HTML5 WebSocket Server and Client with GlassFish ~ Yasassri's Blog
http://yasassriratnayake.blogspot.jp/2014/06/html5-websocket-server-and-client-with.html
WebSocket の接続手順 (1)GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
HTML5 WebSocket Server and Client with GlassFish ~ Yasassri's Blog
http://yasassriratnayake.blogspot.jp/2014/06/html5-websocket-server-and-client-with.html
WebSocket の接続手順 (2)
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Protocol: chat
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
HTML5 WebSocket Server and Client with GlassFish ~ Yasassri's Blog
http://yasassriratnayake.blogspot.jp/2014/06/html5-websocket-server-and-client-with.html
WebSocket の接続手順 (3)
HTML5 WebSocket Server and Client with GlassFish ~ Yasassri's Blog
http://yasassriratnayake.blogspot.jp/2014/06/html5-websocket-server-and-client-with.html
WebSocket の接続が確立すると
UTF-8 形式のテキスト, バイナリのメッセージを
自由に送受信できるようになる
ハンドシェイクに着目する
• HTTP に基づくサーバ側ソフトウェアや中継点との互換性
が保たれることが意図されている。
• その目的のため WebSocket クライアントのハンドシェイク
は HTTP Upgrade リクエストになる
RFC 6455 - The WebSocket Protocol (日本語訳): https://triple-underscore.github.io/RFC6455-ja.html#section-1.3
本来 HTTP はステートレスなプロトコルで
クライアントの接続情報などは持たないはず…
インターネット層
IP アドレス
アプリケーション層
HTTP スキームの URL
トランスポート層
TCP
WebSocket
メッセージを利用したなにか
アプリケーション層
HTTP
TCP/IP の階層モデル WebSocket の階層モデル ?
TCP/IP の再実装では…?
高
低
レイヤー
• 「Socket.IO は必要か?」または「WebSocket は通るのか?」
問題について 2016 年版
https://blog.jxck.io/entries/2016-08-22/websocket-connectivity.html
• WebSocketには注意が必要 | プログラミング | POST
http://postd.cc/websockets-caution-required/
• 2016年現在、WebSocketはおすすめできない
http://qiita.com/yuba/items/00fc1892b296fb7b8de9
WebSocket を取り巻く環境
インフラ方面の方々が苦しんでいる様子…
あなたにWebSocketは必要ないかも | 未分類 | POSTD
http://postd.cc/you-might-not-need-a-websocket/
• W3C によって策定が進められている (2015.2.3 に W3C
Recommendation)
• サーバーからのプッシュ通知を取得する EventSource イン
ターフェースと通信に利用する EventStream データフォー
マットを提供
• メッセージの配信は HTTP 接続上で行われる
Server-Sent Events (SSE)
Server-Sent Events の接続手順
EentStream/OPEN
EventSource
EentStream/CLOSE
Push Message
EentStream/OPEN
EventSource
EentStream/CLOSE
Push Message
Server-Sent Events の接続手順 (1)
GET /stream HTTP/1.1
Host: server.example.com
Accept: text.event-stream
EentStream/OPEN
EventSource
EentStream/CLOSE
Push Message
Server-Sent Events の接続手順 (2)
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text:event-stream
Transfer-Encoding: chunked
Server-Sent Events の接続手順 (3)
EentStream/OPEN
EventSource
EentStream/CLOSE
Push Message
event: event_type
data: { “message”: “JSON payload” }
Server-Sent Events の接続手順
EentStream/OPEN
EventSource
EentStream/CLOSE
Push Message
メッセージの配信は単一の HTTP 接続上で行い
コネクションの管理やメッセージの解析は
ブラウザに任せることができる
• WebSocket とは違い HTTP ベースのため、メタデータのサ
イズがどうしても大きくなってしまう
例) User-Agent, cookie など
• SSE がサポートするのは UTF-8 形式のテキストのみ
• ロングポーリング (クライアントがサーバーに対して繰り返
しリクエストを送信する) が技術のベースとなっている
なぜ流行らなかったか?
• 2015.5.15 に RFC7540 として proposed standard
• バイナリベースのプロトコル
• HTTP/1.1 の課題を解決するための新機能
- ストリームの多重化
- ストリームの優先度
- ヘッダー圧縮
- フロー制御
HTTP/2
• HTTP/2 ではリクエスト/レスポンスで共通のデータは送信
せずに、差分のみをやりとりする。
• ヘッダーに変更がない場合はオーバーヘッドは 0 バイト
• 詳細はこちら
https://summerwind.jp/docs/rfc7540/#section4-3
ヘッダー圧縮
へっだー圧縮の図?
HTTP/2 の登場によって
これまで廃れていた(?) 技術に光が当たるかも…?
• WebSocket は本当にチャットのような高速なリクエスト/レ
スポンスが発生する場所に利用する
• クライアント間での座標やイベントの同期などには
Server-Sent Event を利用する
こうなったらいいなあ的な
• WebSocket に興味を持ちそれを取り巻く環境を調べた
• サーバー/クライアント間でのメッセージの通知に
Server-Sent Event という技術があることを学んだ
• HTTP/2 の登場によって Web の通信に変化が起きようとし
ている
まとめ
•書籍: ハイパフォーマンス ブラウザネットワーキング ネットワークアプリケーションのためのパフォーマンス最適化
•RFC7540 日本語訳
http://summerwind.jp/docs/rfc7540/
•RFC 6455 - The WebSocket Protocol (日本語訳)
https://triple-underscore.github.io/RFC6455-ja.html
•「Socket.IO は必要か?」または「WebSocket は通るのか?」問題について 2016 年版
https://blog.jxck.io/entries/2016-08-22/websocket-connectivity.html
•WebSocketには注意が必要 | プログラミング | POST
http://postd.cc/websockets-caution-required/
•2016年現在、WebSocketはおすすめできない
http://qiita.com/yuba/items/00fc1892b296fb7b8de9
•あなたにWebSocketは必要ないかも | 未分類 | POSTD
http://postd.cc/you-might-not-need-a-websocket/
•SPDY対WebSockets?
https://www.infoq.com/jp/news/2012/06/spdy-websockets
• SPDY と WebSocket の基礎と SPDY の Push - Block Rockin’ Codes
http://jxck.hatenablog.com/entry/20120703/1341334244
参考

More Related Content

What's hot

WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketYu Nobuoka
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
Kansai.pm#15 Perl Ocean
Kansai.pm#15 Perl OceanKansai.pm#15 Perl Ocean
Kansai.pm#15 Perl OceanKazuki KOMORI
 
Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2totty jp
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニングii012014
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestmosa siru
 
10分でわかる marathon-lb
10分でわかる marathon-lb10分でわかる marathon-lb
10分でわかる marathon-lbShuji Yamada
 
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理Seiichiro Ishida
 
PHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバーPHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバーAtsushi Matsuo
 
簡単なHTTPサーバの作成
簡単なHTTPサーバの作成簡単なHTTPサーバの作成
簡単なHTTPサーバの作成Panu Avakul
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング勲 國府田
 
Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
WebサーバのチューニングYu Komiya
 
Word press on conoha このべん #3
Word press on conoha このべん #3Word press on conoha このべん #3
Word press on conoha このべん #3Wataru OKAMOTO
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらインターネット株式会社
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門 Atsu Yamaga
 
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったJunichi Ishida
 
軽量高機能webサーバーnginx
軽量高機能webサーバーnginx軽量高機能webサーバーnginx
軽量高機能webサーバーnginxngi group.
 

What's hot (20)

WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
Kansai.pm#15 Perl Ocean
Kansai.pm#15 Perl OceanKansai.pm#15 Perl Ocean
Kansai.pm#15 Perl Ocean
 
Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
 
Study2study3 nslope
Study2study3 nslopeStudy2study3 nslope
Study2study3 nslope
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
 
lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
 
Varnish
VarnishVarnish
Varnish
 
10分でわかる marathon-lb
10分でわかる marathon-lb10分でわかる marathon-lb
10分でわかる marathon-lb
 
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
 
PHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバーPHP 5.4のビルトインウェブサーバー
PHP 5.4のビルトインウェブサーバー
 
簡単なHTTPサーバの作成
簡単なHTTPサーバの作成簡単なHTTPサーバの作成
簡単なHTTPサーバの作成
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 
Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
Webサーバのチューニング
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
Word press on conoha このべん #3
Word press on conoha このべん #3Word press on conoha このべん #3
Word press on conoha このべん #3
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
 
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
 
軽量高機能webサーバーnginx
軽量高機能webサーバーnginx軽量高機能webサーバーnginx
軽量高機能webサーバーnginx
 

Viewers also liked

Bidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenBidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenMarco Rico Gomez
 
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブルAtsushi Tadokoro
 
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)龍太郎(Ryutaro) 井元(Imoto)
 
Java の Collection 関連について整理してみました
Java の Collection 関連について整理してみましたJava の Collection 関連について整理してみました
Java の Collection 関連について整理してみましたGaprot
 
プログラミング超超超入門
プログラミング超超超入門プログラミング超超超入門
プログラミング超超超入門rigibun
 
僕のデスクトップ整理方法
僕のデスクトップ整理方法僕のデスクトップ整理方法
僕のデスクトップ整理方法Kenta Komori
 
データを整理するための基礎知識
データを整理するための基礎知識データを整理するための基礎知識
データを整理するための基礎知識Gen Fujita
 
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)Kosuke Sugai
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVCterahide
 
Javaバイトコード入門
Javaバイトコード入門Javaバイトコード入門
Javaバイトコード入門Kota Mizushima
 
とある情報の超整理術
とある情報の超整理術とある情報の超整理術
とある情報の超整理術Masahito Zembutsu
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Norito Agetsuma
 
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611負荷試験入門公開資料 201611
負荷試験入門公開資料 201611樽八 仲川
 

Viewers also liked (20)

FolkDance
FolkDanceFolkDance
FolkDance
 
Bidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für WebanwendungenBidirektionale Verbindungen für Webanwendungen
Bidirektionale Verbindungen für Webanwendungen
 
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
情報編集 (web) 第4回:HTML入門 3 情報を整理する - リスト、テーブル
 
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
Google検索だけで満足しない、一歩先をいく収集・整理術(1day)
 
Java の Collection 関連について整理してみました
Java の Collection 関連について整理してみましたJava の Collection 関連について整理してみました
Java の Collection 関連について整理してみました
 
プログラミング超超超入門
プログラミング超超超入門プログラミング超超超入門
プログラミング超超超入門
 
僕のデスクトップ整理方法
僕のデスクトップ整理方法僕のデスクトップ整理方法
僕のデスクトップ整理方法
 
データを整理するための基礎知識
データを整理するための基礎知識データを整理するための基礎知識
データを整理するための基礎知識
 
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
201412ことばの理解とワーキングメモリ:基本概念の整理(公開)
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
 
SSL入門
SSL入門SSL入門
SSL入門
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Javaバイトコード入門
Javaバイトコード入門Javaバイトコード入門
Javaバイトコード入門
 
HTTP/2入門
HTTP/2入門HTTP/2入門
HTTP/2入門
 
とある情報の超整理術
とある情報の超整理術とある情報の超整理術
とある情報の超整理術
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門Apache Solr 検索エンジン入門
Apache Solr 検索エンジン入門
 
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
 
Swagger 入門
Swagger 入門Swagger 入門
Swagger 入門
 

Similar to 再入門、サーバープッシュ技術

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
 
HttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かHttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かShigekiYamada
 
HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cketMakoto Haruyama
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編ksimoji
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTCyoshikawa_t
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9Ryo Ito
 
HTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketHTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketGeorge Harada
 
WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編Contest Ntt-west
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)J-Stream Inc.
 
Java8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみたJava8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみた夕人 江熊
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Etsuji Nakai
 

Similar to 再入門、サーバープッシュ技術 (20)

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
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
HttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何かHttpとTelnetをつなぐ何か
HttpとTelnetをつなぐ何か
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cket
 
Web基礎
Web基礎Web基礎
Web基礎
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
 
Let's begin WebRTC
Let's begin WebRTCLet's begin WebRTC
Let's begin WebRTC
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
About http
About httpAbout http
About http
 
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
HTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketHTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocket
 
WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編
 
20080524
2008052420080524
20080524
 
CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)CDNの仕組み(JANOG36)
CDNの仕組み(JANOG36)
 
Java8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみたJava8でhttpサーバを実装してみた
Java8でhttpサーバを実装してみた
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429
 

More from Shin Sekaryo

ES6,7で書ける JavaScript
ES6,7で書ける JavaScriptES6,7で書ける JavaScript
ES6,7で書ける JavaScriptShin Sekaryo
 
ユーザーストーリーマッピング
ユーザーストーリーマッピングユーザーストーリーマッピング
ユーザーストーリーマッピングShin Sekaryo
 
2013-Wingle-HotSpringHackathon(Winter)
2013-Wingle-HotSpringHackathon(Winter)2013-Wingle-HotSpringHackathon(Winter)
2013-Wingle-HotSpringHackathon(Winter)Shin Sekaryo
 
2013-Wingle-HotSpringHackathon(Summer)
2013-Wingle-HotSpringHackathon(Summer)2013-Wingle-HotSpringHackathon(Summer)
2013-Wingle-HotSpringHackathon(Summer)Shin Sekaryo
 
Systematic Romantic
Systematic RomanticSystematic Romantic
Systematic RomanticShin Sekaryo
 
LexuesAcademy-全体まとめ
LexuesAcademy-全体まとめLexuesAcademy-全体まとめ
LexuesAcademy-全体まとめShin Sekaryo
 
へっぽこPG奮闘記
へっぽこPG奮闘記へっぽこPG奮闘記
へっぽこPG奮闘記Shin Sekaryo
 

More from Shin Sekaryo (9)

Golang勉強会
Golang勉強会Golang勉強会
Golang勉強会
 
ES6,7で書ける JavaScript
ES6,7で書ける JavaScriptES6,7で書ける JavaScript
ES6,7で書ける JavaScript
 
ユーザーストーリーマッピング
ユーザーストーリーマッピングユーザーストーリーマッピング
ユーザーストーリーマッピング
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
2013-Wingle-HotSpringHackathon(Winter)
2013-Wingle-HotSpringHackathon(Winter)2013-Wingle-HotSpringHackathon(Winter)
2013-Wingle-HotSpringHackathon(Winter)
 
2013-Wingle-HotSpringHackathon(Summer)
2013-Wingle-HotSpringHackathon(Summer)2013-Wingle-HotSpringHackathon(Summer)
2013-Wingle-HotSpringHackathon(Summer)
 
Systematic Romantic
Systematic RomanticSystematic Romantic
Systematic Romantic
 
LexuesAcademy-全体まとめ
LexuesAcademy-全体まとめLexuesAcademy-全体まとめ
LexuesAcademy-全体まとめ
 
へっぽこPG奮闘記
へっぽこPG奮闘記へっぽこPG奮闘記
へっぽこPG奮闘記
 

Recently uploaded

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

再入門、サーバープッシュ技術

Editor's Notes

  1. 自動接続の機能 (再接続時には last-event-id が利用される) gzip の圧縮が使える
  2. HTTP/1.1 ではプレーンテキストで 1 リクエストあたり 500~800 バイト (Cookie が存在すると数キロバイトに) ヘッダーテーブルをクライアントとサーバーに用意してそれまでに送信されたキー値を保存する