ajax轮询(WebsocketAjax轮询你选哪个)

——我一直都提倡少用ajax轮询,有经验的都知道,ajax轮询的方式实现比较简单,但是比较浪费服务器的资源,服务器大多时间处理的是无用的请求。HTML5的一个新的协议websocket,实现了浏览器与服务...

——我一直都提倡少用ajax轮询,有经验的都知道,ajax轮询的方式实现比较简单,但是比较浪费服务器的资源,服务器大多时间处理的是无用的请求。HTML5的一个新的协议websocket,实现了浏览器与服务器的全双工通信,可以很好地节省服务器资源。

Websocket、Ajax轮询你选哪个?

我可以给你模拟ajax轮询请求消息的情景:[阴险][阴险]

客户端:啦啦啦,有没有新信息?[疑问]( Request)

服务端:没有。[微笑]( Response)

客户端:啦啦啦,有没有新信息?[疑问]( Request)

服务端:没有……[发呆]( Response)

客户端:啦啦啦,有没有新信息?[疑问]( Request)

服务端:你好烦啊,没有啊……[冷汗]( Response)

客户端:啦啦啦,有没有新消息?[疑问]( Reques)

服务端:好啦好啦,有了给你。[惊恐]( Response)

客户端:啦啦啦,有没有新消息?[疑问]( Request)

服务端:没……没……没有!我要吐血了~[发怒]

(Response) ——loop

Websocket、Ajax轮询你选哪个?

Websocket,它解决了HTTP的这几个难题。首先一个,被动性,当服务器完成协议升级后(HTTP->Websocket),服务端就可以主动推送信息给客户端啦。所以上面的情景可以做如下修改。

客户端:啦啦啦,我要建立Websocket协议了,需要的服务:chat,Websocket协议版本:17(HTTP Request)[微笑]

服务端:好的,确认,已升级为Websocket协议(HTTP Protocols Switched)[微笑]

客户端:麻烦你有信息的时候推送给我噢! [微笑]

服务端:好的,有的时候会告诉你的。 [微笑]

服务端:大爷,你有新的消息。 [微笑]

服务端:大爷,又有一条新的消息。 [微笑]

……

就变成了这样,只需要经过一次HTTP请求,就可以做到源源不断的信息传送了。

ajax一般会应用在交互较多,频繁读取数据的web应用中。ajax的应用场景有表单数据验证,按需取数据,自动更新页面等等。

websocket的应用场景一般在社交应用,股票基金类应用的价格,基于位置的应用,在线教育等等。

  • 发表于 2022-10-31 13:22:46
  • 阅读 ( 157 )
  • 分类:百态

0 条评论

请先 登录 后评论

你可能感兴趣的文章

相关问题