http
HTTP 是请求-响应模型,一个请求只能有一个响应,那 SSE 为什么可以实现服务器多次发消息?是不是违背了 HTTP 模型?
答案是:
SSE 并没有违背 HTTP 的“一请求一响应”原则,它本质上仍然是“一次响应”,只不过这个响应是“长时间、分段的文本流” 。所以也对应了 SSE 是单向的,客户端不能用 SSE 发送消息。
sse
websocket
- websocket没有同源策略限制
- websocket和http存在交集,并不受http协议的限制
- 服务器决定是否接受websocket连接请求(http握手阶段,浏览器自动添加
origin字段)