栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当WebSockets可用时,为什么要使用AJAX?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当WebSockets可用时,为什么要使用AJAX?

WebSockets并不是要取代AJAX,严格来说也不是替代Comet / long-poll(尽管在很多情况下这很有意义)。

WebSocket的目的是在浏览器和服务器之间提供低延迟,双向,全双工和长时间运行的连接。WebSockets为浏览器应用程序打开了新的应用程序域,而这实际上是使用HTTP和AJAX不可能实现的(交互式游戏,动态媒体流,桥接到现有网络协议等)。

但是,WebSockets和AJAX /
Comet之间肯定有目的重叠。例如,当浏览器希望收到服务器事件(即推送)的通知时,Comet技术和WebSockets当然都是可行的选择。如果您的应用程序需要低延迟推送事件,那么这将是支持WebSockets的一个因素。另一方面,如果您需要与现有框架和已部署的技术(OAuth,RESTful
API,代理,负载平衡器)共存,那么这将是支持Comet技术的一个因素(目前)。

如果您不需要WebSockets提供的特定好处,那么最好坚持使用AJAX和Comet等现有技术,因为这可以让您重用并与庞大的现有工具,技术,安全机制生态系统集成,知识库(例如,与WebSockets相比,stackoverflow上的更多的人知道HTTP
/ Ajax / Comet)等。

另一方面,如果要创建一个在HTTP / Ajax / Comet的延迟和连接限制内不能很好运行的新应用程序,请考虑使用WebSockets。

另外,一些答案表明WebSocket的缺点之一是服务器和浏览器支持有限/混合。让我散布一下。尽管iOS(iPhone,iPad)仍支持较早的协议(Hixie),但大多数WebSockets服务器均支持Hixie和HyBi
/ IETF
6455版本。大多数其他平台(如果它们还没有内置支持)可以通过web-
socket-js(基于Flash的polyfill)获得WebSockets支持。这涵盖了绝大多数Web用户。另外,如果您将Node用作服务器后端,则可以考虑使用Socket.IO,其中包括web-
socket-js作为后备,即使不可用(或禁用),它也将退回到使用任何Comet技术适用于给定的浏览器。

更新 :iOS 6现在支持当前的HyBi / IETF 6455标准。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号