comet(基于http长连接的“服务器推”技术)
web服务器是被动发送数据给客户端的,客户端有请求,服务器端才会响应(发送数据),
所以“服务器推”技术加了引号。
实现方式有两个:
1.基于ajax的长轮询(long-polling)方式
浏览器发送ajax请求(设置timeout,并且对返回的状态进行处理,
猜想:设置了timeout,connection:keep-alive就会加入到请求头中,即基于http长连接),
如果到了时间,http连接断了(底层是tcp连接断了)则重新发起请求。
2.基于 Iframe 及 htmlfile 的流(streaming)方式
页面中迁入一个隐藏帧(iframe),将隐藏帧的src属性设置为一个长连接请求,服务器端就能往客户端发送数据。