1、网站中的消息功能如何实现?

思考:像这样的消息功能怎么实现? 如果网页不刷新,服务端有新消息如何推送到浏览器?
解决方案:采用轮询的方式。即:通过 js 不断的请求服务器,查看是否有新数据,如果有,就获取到新数据。
这种解决方法是否存在问题呢?
当然是有的,如果服务端一直没有新的数据,那么 js 也是需要一直的轮询查询数据,这就是一种资源的浪费。
那么,有没有更好的解决方案?
有!那就是采用 WebSocket 技术来解决。
2 、什么是 WebSocket ?
WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信 (full-duplex) 。一开始的握手需要借助
HTTP 请求完成。 WebSocket 是真正实现了全双工通信的服务器向客户端推的互联网技术。 它是一种在单个 TCP 连
接上进行全双工通讯协议。 Websocket 通信协议与 2011 年倍 IETF 定为标准 RFC 6455 , Websocket API 被 W3C 定为
标准。
3、http 与 websocket 的区别
3.1、http:http 协议是短连接,因为请求之后,都会关闭连接,下次重新请求数据,需要再次打开链接。

3.2、websocket:WebSocket 协议是一种长链接,只需要通过一次请求来初始化链接,然后所有的请求和响应都是通过这个 TCP 链接 进行通讯。

服务器支持情况:Tomcat 7.0.47+以上才支持。
转载于:https://my.oschina.net/u/3915790/blog/3068335