EventSource XHR标头

ion*_*ox0 8 javascript stream long-polling server-sent-events

我正在尝试使用EventSource进行到服务器的流连接.但我需要在底层XHR请求上设置会话密钥头.如果可能的话,如何从EventSource对象访问XHR?谢谢!

请注意,我不确定是否还支持使用EventStream的CORS,这会阻止它首先为我工作,但我在某些地方读过它应该支持...

Dar*_*ook 8

首先,好消息是每个支持SSE的浏览器都支持CORS并使用它.(一年前有问题,所以如果与那些坚持运行现代自动更新浏览器的过时版本的用户打交道,那么你只会遇到问题,这是一种不同寻常的组合.)

  • 现在是坏消息:您无法在EventSource请求上设置标头.如果你想设置标题,你需要回到良好的'ole XHR流媒体.

  • 另一方面,cookie被发送,所以如果您的会话信息可以通过cookie发送,那么这将是有效的.

  • 另一方面,cookie与CORS发生冲突; 因此,如果您需要SSE和第三方网站的身份验证,您将会感到沮丧.您必须回退使用XHR.

对于这两个主题,公然插件的道歉,但我所知道的最好的信息来源,是我的SSE书的第9章.这是最难写的章节:-).