SlideShare a Scribd company logo
サーバ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

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
Takuto Wada
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
Masatoshi Tada
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
Masahito Zembutsu
 
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーククラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
Y Watanabe
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
 

What's hot (20)

Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
 
クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーククラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 

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_rev1
Takano Masaru
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901Masayuki Abe
 
Mobile Web
Mobile WebMobile Web
Mobile Web
Makoto Kato
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)
ひとし あまの
 
JavaScript And Keywords
JavaScript And KeywordsJavaScript And Keywords
JavaScript And Keywords
uupaa
 
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
 
さくらの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基礎
stx_kata
 
RESTful Webサービス
RESTful WebサービスRESTful Webサービス
RESTful Webサービス
Kentaro Inomata
 
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-jp
PacSecJP
 
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

ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 

Recently uploaded (7)

ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 

サーバPUSHざっくりまとめ