websocket - 我可以在 HTML Web 应用程序中使用哪种服务器推送技术?

标签 websocket push long-polling server-push server-sent-events

我正在为我的网络应用程序寻找服务器推送技术。
我想使用与 StackOverflow 类似的技术,因为该技术运行良好。
那么,有什么建议吗?

最佳答案

用于服务器到客户端的推送 Server-Sent Events是比 WebSocket 更好的选择。 GitHub 使用 SSE 自动显示新评论、拉取请求等。

  • SSE 与 HTTP 兼容,因此它可以与代理服务器配合使用,并且您不需要 HTTPS 即可使其在实践中发挥作用(例如,许多移动运营商拥有可以破坏未加密 WebSocket 的 HTTP 代理,但 SSE 可以使用很好)。

  • SSE 连接轻量且快速。没有额外的握手和连接升级过程。如果每个页面上都有 SSE,那么您的服务器要做的工作就会减少。

  • SSE 协议(protocol)非常简单。您不需要特殊的网络服务器或库,它可以是 polyfilled适用于旧浏览器。

关于websocket - 我可以在 HTML Web 应用程序中使用哪种服务器推送技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220134/

相关文章:

node.js - 连接到 websocket 时为 "handshake error: Wrong response line"

mysql - 根据特定行对 MySQL 行重新排序

git - 致命: unable to access 'https://github.com/usename/my-project.git/' : The requested URL returned error: 403 Mac

php - symfony 发生错误:通知:未定义的属性:::$容器

ajax - 轮询、Comet、WebSockets 等

ssl - APNS ssl ://gateway. sandbox.push.apple.com:2195 连接失败

jquery - 在 Tomcat 服务器上使用 JQuery 进行长轮询的问题

php - 使用 Laravel 的实时用户消息

php - 通过 AJAX 更新渲染页面的所有元素的正确方法是什么?

node.js - Ubuntu Linux 上的永久 socket.io 服务器