リアルタイムWeb技術
概要
リアルタイムWeb技術と呼ばれたりする技術のメモ
詳細はそれぞれの資料を参照。
Polling
- メリット
- 単純
- デメリット
- 無駄なリクエストが生じ、サーバ負荷の増加等を招く
- それほどリアルタイムではない
- 対応環境
- 特に制限なし
Long Polling
サーバからのPushを擬似的に実現
- メリット
- Pollingよりリクエスト回数を減らせる
- デメリット
- 再リクエスト中に生じたイベントの通知が遅延する
- 対応環境
- 特に制限なし
Server-Sent Events
サーバサイドpush
- メリット
- Long Pollingのデメリットを解決出来る
- デメリット
- Long Pollingのデメリットを解決出来る
- 対応環境
- IE, Edgeは非対応、Android 4.4未満の標準ブラウザも未対応
- http://caniuse.com/#search=EventSource
- 資料
WebSocket
上述の技術はサーバからのpushを実現するためのものだが、本技術は双方向通信を実現するもの。
また、上述の技術の通信プロトコルはHTTPだが、本技術のプロトコルはWebSocket
APIも規格化されている
same origin policyがないため、想定しないドメインからの利用を防いだりする必要がある。
- メリット
- HTTPのオーバヘッドがない
- デメリット
- 古いブラウザが未対応
- 対応環境
- IE10、Android 4.4(標準ブラウザ) 以降
- http://caniuse.com/#search=websocket
- 資料
- サーバサイド実装
- Node.js