WebWorker
什么是WebWorker?
- web worker 是运行在后台的 JavaScript,不会影响页面的性能。
- 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
- web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。
类似于Android的Server在后台进行着,不会影响到前台的UI
Server-Sent Events(SSE)
什么是Server-Sent Events?
- HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。
- Server-Sent 事件指的是网页自动获取来自服务器的更新。
- 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。
- 例子:Facebook/Twitter 更新、估价更新、新的博文、赛事结果等。
类似于Android中的推送服务功能,一般网页和应用都是主动请求网络,而SSE是后台主动推送数据到前台
HTML5 WebSocket
什么是WebSocket?
- WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
- 在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
- 浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。
- 当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。
- WebSocket 协议本质上是一个基于 TCP 的协议。
类似Android中的IM通讯,tcp协议