SlideShare a Scribd company logo
1 of 57
Download to read offline
サーバPUSH
ざっくりまとめ
2014/8/11
(2013/10に一度お蔵入り)
!
回り道 康博
目的
•PUSHについて以下のことを確認
•何でWebSocketがいいんだっけ
•従来の方式は何がよくないんだっけ
•そもそも何があったっけ
概要
•各方式をざっくり確認+比較
•ポーリング
•Ajax
•Comet
•Server Sent Events
•WebSocket
•図は以前書いたWebSocket / WebRTCの技術紹介から
ポーリング (1/4)
• クライアント契機でHTMLを取得
• 疑似PUSH
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
ポーリング (1/4)
• クライアント契機でHTMLを取得
• 疑似PUSH
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
ポーリング (1/4)
• クライアント契機でHTMLを取得
• 疑似PUSH
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
ポーリング (1/4)
• クライアント契機でHTMLを取得
• 疑似PUSH
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
画面を更新
ポーリング (1/4)
• クライアント契機でHTMLを取得
• 疑似PUSH
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
画面を更新
…
ポーリング (2/4)
•初期の疑似PUSH
•昔のBBSやチャット
•HTTPクライアントがHTTPサーバへ定
期的にアクセスして画面を再描画
•リアルタイム性はアクセス間隔に依存
ポーリング (3/4)
•メリット
•昔(とても昔)のブラウザでも動く
•特殊なことはやっていない
ポーリング (4/4)
•デメリット
•リアルタイム性が低い
•リアルタイム性を上げるために更新頻度を上げ
るとサーバ負荷上がる
•差分でなくフルのHTMLを毎回取得する
•クライアントは定期的にサーバへアクセスする
•クライアントはサーバに新しい情報があるかど
うか(だけを)知る術がない
Ajax (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
画面を更新
…
• クライアント契機でXML/jsonを取得
• 疑似PUSH
Ajax (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
画面を更新
…
• クライアント契機でXML/jsonを取得
• 疑似PUSH この辺がAjax
Ajax (2/4)
•Ajax = Asynchronous JavaScript + XML
•XHR(XMLHttpRequest)で実装
•XMLでなくテキストでもいい
•なのでJSONが使われることが多い(と
思う)
•「ちょっとマシなポーリング」ができる
Ajax (3/4)
•メリット
•ポーリング方式より通信負荷が低い
•サーバから必要なデータだけ持ってくる
•画面全体のHTMLを再取得しない
•「全データを予め取得するのが非現実的」で「状
況に応じてデータを取得する」用途に向く
•Googleマップとか
Ajax (4/4)
•デメリット
•PUSHの観点ではポーリングと変わらない
•サーバからデータを送るにはクライアン
トからのアクセスが必要
•というかそもそもPUSHのリアルタイム
性を上げるための仕様じゃない
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
画面を更新
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
次のPUSH用の
リクエストを投げる
画面を更新
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
次のPUSH用の
リクエストを投げる
画面を更新
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
次のPUSH用の
リクエストを投げる
画面を更新
Comet (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• サーバ契機でHTMLやXML/jsonを取得
• サーバからの即応性が改善された擬似PUSH データ発生まで
レスポンスを保留
この辺でデータが
発生するとラグ
次のPUSH用の
リクエストを投げる
画面を更新
Comet (2/4)
•ロングポーリング
•一般に、サーバは可及的速やかにレスポンスを返す
•Cometでは「PUSHしたい時」までレスポンスを返さ
ない
•つまりポーリングよりポーリング間隔が長い
•双方向通信
•クライアント to サーバは通常のHTTP
•サーバ to クライアントはComet
Comet (2/4)
•ロングポーリング
•一般に、サーバは可及的速やかにレスポンスを返す
•Cometでは「PUSHしたい時」までレスポンスを返さ
ない
•つまりポーリングよりポーリング間隔が長い
•双方向通信
•クライアント to サーバは通常のHTTP
•サーバ to クライアントはComet
この辺がロング
Comet (3/4)
•メリット
•リアルタイム性がポーリング方式より
高い
Comet (4/4)
•デメリット
•仕組み上、ごく短時間に連続でPUSHすることができない
•一度PUSHすると、クライアントから次のPUSH用の接続を
待たないといけない
•サーバは最大でポーリングの2倍のリソース(曖昧)を消費する
•「サーバ to クライアント(Comet)」で1つ
•「クライアント to サーバ(HTTP)」で1つ
•ポーリング方式より不利というだけで、根本的にはどの方式
でも同じ問題がついて回る(C10K問題)
Comet (4/4)
•デメリット
•仕組み上、ごく短時間に連続でPUSHすることができない
•一度PUSHすると、クライアントから次のPUSH用の接続を
待たないといけない
•サーバは最大でポーリングの2倍のリソース(曖昧)を消費する
•「サーバ to クライアント(Comet)」で1つ
•「クライアント to サーバ(HTTP)」で1つ
•ポーリング方式より不利というだけで、根本的にはどの方式
でも同じ問題がついて回る(C10K問題)
あくまでも
最大だよ
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH データ発生のたびに
送信する
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
分割(chunked)データ扱い
データ発生のたびに
送信する
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
分割(chunked)データ扱い
データ発生のたびに
送信する
画面を更新
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
分割(chunked)データ扱い
クローズしていないのでさらに送れる
データ発生のたびに
送信する
画面を更新
Server Sent Events (1/4)
クライアント サーバ
HTTPリクエスト
HTTPレスポンス
• Cometを洗練させたWeb標準(W3C CR)
• 本格的なPUSH
分割(chunked)データ扱い
クローズしていないのでさらに送れる
データ発生のたびに
送信する
画面を更新
•Server Sent Events (SSE)
•新しいロングポーリング方式
•Chunked Transfer Coding
•HTTPサーバがレスポンスを「分割(chunked)データ」
として宣言する
•サーバはPUSHが必要になる度にクライアントへデータを
送る
•データ = 「HTTPレスポンスの一部」をPUSHしても通信
が維持される
Server Sent Events (2/4)
•メリット
•リアルタイム性がポーリングより高い
•Cometに比べて、「一度サーバPUSHを受け
た後にクライアントが再接続」する手間とラ
グがない
•サーバ側の実装が従来の延長で可能
•WebSocketのような新規格への対応が不要
Server Sent Events (3/4)
•デメリット
•HTTPクライアント(ブラウザ等)がServer
Sent Eventsに対応していないといけない
•古いブラウザだと動かない
•具体的にはIE(11でも )とかAndroid標準
ブラウザ(4.4未満は )
•Cometと同じく、サーバは最大でポーリング方式
の2倍のリソースを消費する
Server Sent Events (4/4)
(補足) Streaming API
•Twitterのアレ
•Ajax + Chunked Transfer Coding
•機能上の特徴はServer Sent Eventsと同等
•クライアント側の処理がServer Sent Eventsより複雑
•Server Sent Eventsの仕様ができるより前に、同等のことを
HTTP 1.1 + Ajaxで実現したもの
•独自仕様の「Server Sent Eventsっぽい何か」と捉えても良い
•と解釈しているんだけど、情報がいまいち出てこなくて正しいかわか
らない
WebSocket (1/5)
サーバ
• HTTPの縛りを外して作られたWeb標準 (RFC 6455 / W3C CR)
• 本格的なPUSH
WebSocket
メッセージ
WebSocket (1/5)
サーバ
• HTTPの縛りを外して作られたWeb標準 (RFC 6455 / W3C CR)
• 本格的なPUSH
WebSocket
メッセージ
WebSocket (1/5)
サーバ
• HTTPの縛りを外して作られたWeb標準 (RFC 6455 / W3C CR)
• 本格的なPUSH
WebSocket
メッセージ
データ発生のたびに
送信する
WebSocket (1/5)
サーバ
• HTTPの縛りを外して作られたWeb標準 (RFC 6455 / W3C CR)
• 本格的なPUSH
画面を更新
WebSocket
メッセージ
データ発生のたびに
送信する
WebSocket (1/5)
サーバ
• HTTPの縛りを外して作られたWeb標準 (RFC 6455 / W3C CR)
• 本格的なPUSH
画面を更新
WebSocket
メッセージ
データ発生のたびに
送信する
WebSocket
メッセージ
クライアント
WebSocket (2/5)
サーバ
WebSocket
メッセージ
クライアント
送信完了前に別の送信を開始しても可
WebSocket (2/5)
サーバ
WebSocket
メッセージ
クロスしても可
クライアント
送信完了前に別の送信を開始しても可
WebSocket (2/5)
サーバ
WebSocket (3/5)
•効率的な双方向通信のために作られた、HTTPと別の規格
•WebSocketプロトコルは通信仕様、IETF管轄
•http://tools.ietf.org/html/rfc6455
•単に使う分にはそれほど意識しなくてもいい
•知っているに越したことはないが
•WebSocket APIはWebSocketをJavaScriptから使うた
めのAPI、W3C管轄
•http://www.w3.org/TR/websockets/
WebSocket (4/5)
•メリット
•HTTPプロトコルと比較してヘッダが軽量=通信負
荷が低い
•リアルタイム性が高い
•サーバ to クライアントとクライアント to サーバで
同じ経路
•サーバにやさしい、リソース的な意味で
•標準化策定済み
WebSocket (5/5)
•デメリット
•サーバ、クライアントともWebSocket規格への準拠が必要
•古いWebサーバやブラウザは非対応
•IE10未満とか、Android 4.4未満の標準ブラウザ
•既存の通信機器を通過できない可能性がある
•例えば80番port = HTTPの前提で監査しているルータ等
にWebSocket通信を流すと、異常データ扱いで弾かれる
ことがある
•httpsだと中身が見えないので比較的通りやすい
PUSH方式の比較
リアルタイム性
サーバの
負荷 (低)
Webサーバの
対応
ブラウザの
対応
ポーリング /
Ajax
△∼ ∼△ ○ ○
Comet ○ ○ ○ ○
Server Sent
Events
○ ○ ○ △
WebSocket ○ ○ △ △
まとめ
•WebSocket
•Server Sent Events
•Comet
•Ajax
•ポーリング
まとめ
•WebSocket
•Server Sent Events
•Comet
•Ajax
•ポーリング
越えられない壁
まとめ
•WebSocket
•Server Sent Events
•Comet
•Ajax
•ポーリング
おすすめ
非おすすめ
越えられない壁
蛇足
•HTTP2がないね
•そうすね、近いうちにRFC出そうですね
•あっちのPUSHは「好きな時にサーバPUSH」じゃなく「Webページ
に必要そうなデータをサーバ契機で予め送信」のPUSH
•PUSH方式選択のポイントは(サポート対象の)ブラウザ
•古いブラウザのサポートがmustな場合、新しい方式は辛いよ(今後も
含めて)
•今のWebサーバやブラウザは大抵WebSocketに対応済み
•でも通信経路的に使えないケースもあるから注意だよ
•悩んだらとりあえずSocket.IOで安定

More Related Content

What's hot

DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTT DATA Technology & Innovation
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 

What's hot (20)

DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 

Similar to サーバPUSHざっくりまとめ

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiKeisuke Ishibashi
 
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術再入門、サーバープッシュ技術
再入門、サーバープッシュ技術Shin Sekaryo
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会tama200x Kobayashi
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1Takano Masaru
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901Masayuki Abe
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)ひとし あまの
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywordsuupaa
 
さくらの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インフラ時代...さくらインターネット株式会社
 
20140906 jaws festa 2014 cloud front+route53
20140906 jaws festa 2014 cloud front+route53 20140906 jaws festa 2014 cloud front+route53
20140906 jaws festa 2014 cloud front+route53 Takuo Watanabe
 
Rust で簡易 HTTP サーバーを作ってみよう
Rust で簡易 HTTP サーバーを作ってみようRust で簡易 HTTP サーバーを作ってみよう
Rust で簡易 HTTP サーバーを作ってみようYuki Toyoda ✲
 
Stuart attacking http2 implementations truefinal-jp
Stuart  attacking http2 implementations truefinal-jpStuart  attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jpPacSecJP
 
Thin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamToshiaki Maki
 
HTML5 と次世代のネットワーク プロトコル
HTML5 と次世代のネットワーク プロトコルHTML5 と次世代のネットワーク プロトコル
HTML5 と次世代のネットワーク プロトコル彰 村地
 

Similar to サーバPUSHざっくりまとめ (20)

Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshiJanogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
 
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術再入門、サーバープッシュ技術
再入門、サーバープッシュ技術
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
HTTP入門
HTTP入門HTTP入門
HTTP入門
 
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
 
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
 
さくらの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インフラ時代...
 
Web基礎
Web基礎Web基礎
Web基礎
 
RESTful Webサービス
RESTful WebサービスRESTful Webサービス
RESTful Webサービス
 
20140906 jaws festa 2014 cloud front+route53
20140906 jaws festa 2014 cloud front+route53 20140906 jaws festa 2014 cloud front+route53
20140906 jaws festa 2014 cloud front+route53
 
Rust で簡易 HTTP サーバーを作ってみよう
Rust で簡易 HTTP サーバーを作ってみようRust で簡易 HTTP サーバーを作ってみよう
Rust で簡易 HTTP サーバーを作ってみよう
 
Stuart attacking http2 implementations truefinal-jp
Stuart  attacking http2 implementations truefinal-jpStuart  attacking http2 implementations truefinal-jp
Stuart attacking http2 implementations truefinal-jp
 
Thin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikamThin Server Architectureでブログ作った #ikam
Thin Server Architectureでブログ作った #ikam
 
HTML5 と次世代のネットワーク プロトコル
HTML5 と次世代のネットワーク プロトコルHTML5 と次世代のネットワーク プロトコル
HTML5 と次世代のネットワーク プロトコル
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (8)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

サーバPUSHざっくりまとめ