对数据推送的需求可以追溯到Web 诞生的时候2。多年来,人们找到了很多新奇的解决方案,其中大部分都存在人们不期望看到的折中方式。你也许听说过一些其他的技术:Comet、Ajax Push、Reverse Ajax、HTTP Streaming,还一直在想它们之间有什么不同。实际上,这些都属于我们将在第6 章和第7 章中探讨的向后兼容解决方案。后来又增加了SSE,它是一种兼具易用性和高效性的新增HTML5 技术。如果你的浏览器支持SSE,它总是3 比Comet 技术优越。(本章后面会讨论SSE 和WebSocket 的区别。) 顺便说一下,有时你会看到SSE 被人称为EventSource,因为那是它在JavaScript 中相关对象的名字。本书会使用SSE 这个名字,只会在涉及JavaScript 对象时使用EventSource。