node.js – HTTP流和服务器发送事件有什么区别?

我的理解是HTTP流式传输涉及客户端发送HTTP请求,然后响应随时间发送的请求,允许服务器基本上推送到客户端.在我所看到的情况下,SSE似乎按照相同的原则运作,但更为正式化.这接近正确的理解吗?

我看到了这些问题,但他们并没有直接回答我的问题.

HTTP: what are the relations between pipelining, keep-alive and Server Sent Events?
What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?

我也看了这个https://www.html5rocks.com/en/tutorials/eventsource/basics/#disqus_thread
设置SSE的教程似乎就像我想象的那样设置了HTTP流.

最佳答案
SSE实际上是HTTP流式传输的一种形式.它只是一个MIME类型为“text / event-stream”的HTTP响应,它发送以双换行符结尾的纯文本消息.

SSE不是以前不可能做到的事情,但网站必须使用WebSocket连接,AJAX长轮询,彗星,定期轮询等,现在SSE API已经标准化,实现非常简单.看到:

https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events

要记住的一件事是IE不支持SSE,包括Edge和IE Mobile:

> http://caniuse.com/#feat=eventsource

因此,除非您知道他们使用的浏览器,否则您无法真正将它用于更广泛的受众.

转载注明原文:node.js – HTTP流和服务器发送事件有什么区别? - 代码日志