javascript - EventSource 连接中的自定义 header

标签 javascript http server-sent-events custom-headers

当我在 JavaScript 中创建一个新的 EventSource 来监听服务器发送的事件时,如下所示:

var source = new EventSource("data/pushed");

有什么方法可以让我在传出的 HTTP 请求中指定额外的 header (比如一些身份验证 token )?

最佳答案

不,EventSource standard不像 XMLHttpRequest 那样包含 setRequestHeader

也不支持POST。但你确实有 cookies 。因此,在可行的情况下,我首选的身份验证 token 方法是让用户首先登录并创建 session ,然后该 session cookie 将与您的 SSE 请求一起传递。 (另外:如果使用 PHP,并使用 SSE session ,请记住它们是锁定的,因此您的 SSE 进程应在验证用户后立即调用 session_write_close()。其他语言的 session 可能有类似的问题。)

我可以建议的唯一其他替代方法是使用 XMLHttpRequest(即 Comet 方法)。

关于javascript - EventSource 连接中的自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36201347/

相关文章:

javascript - Nodejs 确保 API 登录仅发生一次

javascript - 有没有办法在变量内部使用字符串来引用对象属性?

javascript - 找出哪些代码导致 DOM 节点创建失控的好方法是什么?

python - 限制/限制 GRequests 中 HTTP 请求的速率

php - 从 mySQL 中检索 mp3 并强制下载而不是在浏览器中播放

java - 如何使用 Spring 订阅传入的 SSE 事件

python - Flask流无法在我的计算机上运行

javascript - 使用json的图像?

php - 在未处理的请求上发送哪个 HTTP 响应代码

node.js - 如何在 NodeJS 中测试服务器发送事件 (SSE) 路由?