网站实时刷新方法

页面实时刷新几种解决办法。
1、控制刷新页面:
Js 中通过window.location.reload() 在一定时刻进行页面刷新
网页头部添加: 这是每经过20秒跳转到一个新页面, 把newPage设置为当前页面路径实现刷新页面
这种方式用户体验不好,而且如果网页的访问量较大, 大量的请求有可能造成服务器崩溃。
2、轮询:
客户端不断的向server发送请求, 以保证页面的数据始终是数据库最新的数据。
轮询的方式会造成服务器压力大, 它需要不断的向后台请求数据, 后台不停的去数据库查询, 处理数据。如果服务器端没有更新,这种轮询访问便是无意义的并且消耗cpu处理资源
3、长连接
客户端向服务器发送请求, 服务器接收到请求后不做处理,直到数据更新再对请求作出响应,返回新数据并关闭连接。 客户端就收到新数据并处理完成后再次发起。
优点:
在没有新消失的情况下不会频繁请求,消耗资源小
缺点:
服务器在获取新内容之前都无法关闭连接, 占用资源
TCP和HTTP规范中都有连接超时一说,所以所谓的长连接并不能一直持续,服务端和客户端的连接需要定期的连接和关闭再连接
4 、flash
创建一个只有1个像素点大小的普通透明的Flash,然后将之内嵌在页面中, 然后这个Flash中的代码创建出一个Socket连接,这种连接方式消除了HTTP协议中的各种限制,当服务器有消息发送到客户端的时候,可以在Flash中调用,接受并处理服务器传来的数据,然后更新页面。
优点: 模拟实现了双向通讯
缺点: 浏览器要能够支持flash flash会存在安全问题
5、websocket
websocket是基于TCP的一种新的网络协议。 实现了浏览器与服务器双向通信, 允许服务器主动发消息给客户端。
实现原理:
客户端向服务器发出连线请求(http协议),服务器端作出回应,这个过程称为 ’握手’,浏览器和服务器形成一条快速通道,可以直接相互传递消息。
与 HTTP 协议有着良好的兼容性。握手阶段采用 HTTP 协议,因此握手时不容 易屏蔽,能通过各种 HTTP 代理服务器。
数据格式比较轻量,性能开销小,通信高效。
可以发送文本,也可以发送二进制数据。
没有同源限制,客户端可以与任意服务器通信。
协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。
优点:
服务器不再被动的接收到客户端请求之后才返回数据,而是在有新数据时就主动推给客户端

你可能感兴趣的:(js,轮询,websocket)