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

问题描述 投票:6回答:1

我的理解是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?

我还看了这个用于设置SSE的https://www.html5rocks.com/en/tutorials/eventsource/basics/#disqus_thread教程,看起来我想象的是如何设置HTTP流。

node.js http server-sent-events http-streaming
1个回答
7
投票

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:

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

© www.soinside.com 2019 - 2024. All rights reserved.