ドキュメントから、Push APIとServer Sent Events の両方が半二重であることがわかりましたが、なぜ同じ機能に対して 2 つの異なるテクノロジが使用されるのでしょうか? Push API でもっと重要なことはありますか?
2 に答える
Server Sent Events を使用して Web サイトに直接接続します。これは非常に簡単です。
Web プッシュ テクノロジははるかに複雑です。ユーザーのブラウザは、Web サイトからすべてのプッシュを収集して配信する (それらを多重化する) ブラウザ ベンダーのプッシュ サーバーへの 1 つの接続を維持します。メッセージはサードパーティのサーバーを通過するため、暗号化する必要があります。Push API を使用するには、(クライアント側で) ブラウザー固有のベンダーのエンドポイント URL を取得し、公開暗号化キーを生成して、それをサーバーに送り返して使用します。次に、サーバーでプッシュするときに、キーを使用してメッセージを暗号化し、エンドポイントにプッシュします。
Firefox は、プッシュ サービスが開いている限り、プッシュ メッセージを受信するために、プッシュ サービスへのアクティブな接続を維持します。
これが Web プッシュの主な利点です。ユーザーがブラウザーを開いたときに通知を配信できるため、ユーザーはサイトにアクセスする必要がありません。欠点は、このサブスクリプションに対してユーザーから許可を得る必要があることです。もう 1 つの欠点は、現在広くサポートされているとは言い難いことです。