EventSource
次のように、サーバーから送信されたイベントをリッスンするために JavaScriptで new を作成すると、次のようになります。
var source = new EventSource("data/pushed");
送信 HTTP 要求で追加のヘッダー (認証トークンなど) を指定する方法はありますか?
EventSource
次のように、サーバーから送信されたイベントをリッスンするために JavaScriptで new を作成すると、次のようになります。
var source = new EventSource("data/pushed");
送信 HTTP 要求で追加のヘッダー (認証トークンなど) を指定する方法はありますか?
いいえ、EventSource 標準には含まれていませsetRequestHeader
んXMLHttpRequest
。
また、POST にも対応していません。しかし、あなたはクッキーを持っています。そのため、実用的な場合、認証トークンに対する私の推奨するアプローチは、ユーザーが最初にログインしてセッションを作成することです。次に、そのセッション Cookie が SSE 要求と共に渡されます。(余談: PHP を使用し、SSE でセッションを使用している場合は、それらがロックされていることを覚えておいてください。そのため、SSE プロセスはsession_write_close()
ユーザーを検証したらすぐに呼び出す必要があります。他の言語のセッションでも同様の問題が発生する可能性があります。)
私が提案できる他の唯一の代替手段は、使用することですXMLHttpRequest
(つまり、コメットアプローチ)。