HTML5のServer-Sent Events(SSE)とは?サーバーからブラウザへイベントを配信する仕組みを解説
HTML5のServer-Sent Events(SSE)とは
従来のWebアプリケーションでは、イベントはクライアント側からWebサーバーへ向かって発生します。たとえば、ページ上のリンクをクリックすると、その操作がサーバーに伝わり、新しいページがリクエストされるという流れです。
このように、WebブラウザからWebサーバーへ流れるイベントは、「クライアント送信イベント(client-sent events)」と呼ばれます。
サーバーからブラウザへ流れる新たなイベント
HTML5では、WHATWG Web Applications 1.0の仕様の一環として、逆方向――すなわちWebサーバーからWebブラウザへ流れるイベントが導入されました。これが「Server-Sent Events(SSE:サーバー送信イベント)」です。
SSEを活用することで、Webサーバーから訪問者のブラウザに対して、DOMイベントを継続的にプッシュ配信できます。
イベントストリーミングの仕組み
このイベントストリーミングのアプローチでは、サーバーとの間に永続的な接続(persistent connection)が確立されます。そして、新しい情報が利用可能になった時点で、その都度クライアントへデータが送信されます。
これにより、クライアントが定期的にサーバーへ問い合わせを繰り返す「ポーリング」の必要性が排除され、より効率的でリアルタイム性の高い通信が実現します。
まとめ
Server-Sent Eventsは、サーバーからクライアントへデータをストリーミング配信する方法を標準化した技術です。チャットアプリの通知更新やニュースフィード、株価表示など、リアルタイム性が求められる場面で特に有用です。双方向通信が必要なWebSocketと比べると実装がシンプルで、既存のHTTPインフラをそのまま活用できる点も大きな魅力といえるでしょう。
-
Windows 10でCortanaのWebプレビューが動作しないときの対処法5選
Windows 10をバージョン1903にアップグレードした後、CortanaのWebプレビューが正常に機能しなくなるという問題が多く報告されています。Microsoftは統合型の検索機能へ移行し、必ずしもCortanaを使う必要がなくなりましたが、Cortanaには今なお便利な機能が数多く残されています。そのひとつがWebビューです。本来なら、数式などの検索キーワードを入力すると、Webビューが開いてBingによる検索結果が表示されます。ところが一部のユーザー環境では、このWebビューが表示されず、壊れているように見えるエラーが発生しています。そのため、「ブラウザーで開く」リンクをクリックす
-
Telegram Webが繋がらない・動作しない時の原因と9つの対処法
Telegram(テレグラム)は世界中で人気を集めているメッセージアプリの一つで、その利用方法の一つがブラウザ上で動作する「Telegram Web」です。しかし、いざ使おうとしたらページが開かない、接続できないといったトラブルに遭遇することもあります。本記事では、Telegram Webが動作しない・接続できない問題の原因と、具体的な解決方法を順番に詳しく解説します。 ChromeでTelegram Webが動かない主な原因 Telegram Webが正常に動作しない理由はさまざまですが、代表的なものは以下の通りです。 インターネット接続の不安定さ: Telegram Webの利用には安