关于Ajax和websocket
Ajax Ajax,即异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的部分进行加载更新。
Ajax 的优点在于它在浏览器与web服务器之间使用异步数据传输(HTTP请求),不阻塞用户,核心对象是XMLHTTPRequest。通过这个对象,js可在不重新加载页面的情况下与web服务器交换数据。 websocket websocket是HTML5一种新的协议,实现了浏览器与服务器全双工通信。
其本质是:先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,服务端与客户端通过此TCP连接进行实时通信。 websocket最大的优点在于——服务器和浏览器可以在给定的时间范围内的任意时刻,互相推送消息。在建立连接之后,服务器可以主动传送数据给浏览器。 Ajax与websocket最大的不同在于:Ajax需要客户端发起请求,websocket服务器和客户端可以互相实时推送消息。
1. Ajax的应用场景 Ajax的特点在于异步交互,动态更新web页面,因此Ajax的适用范围是交互较多,频繁读取数据的web应用。 比如如下场景:
(1)用Ajax进行表单数据验证 在填写表单内容时,需要保证数据的唯一性(例如新用户注册填写的用户名),因此必须对用户输入的内容进行数据验证。
使用Ajax技术,可以由XMLHttpRequest对象发出验证请求,根据返回的HTTP响应判断验证是否成功,整个过程不需要弹出新窗口,也不需要将整个页面提交到服务器,快速而又不会加重服务器负担。
如果您需要相关服务,可以找天津天迅达科技有限公司,我们的业务有Web开发、iOS APP、Android APP、微信开发、HTML5开发等,天迅达——您身边的App个性化定制专家!
(2)按需取数据 在web应用中,经常会用到分类树或树形结构,例如部门结构,文件的分类结构等。 Ajax技术是这样实现树形结构的: 在初始化页面时,只获取第一级子分类的数据并显示; 当用户点开一级分类的第一节点时,页面会通过Ajax向服务器请求当前分类所属的二级子分类的所有数据; 如果再请求已经呈现的二级分类的某一节点时,再次向服务器请求当前分类所属的三级子分类的所有数据,以此类推。
页面会根据用户的操作向服务器请求所需要的数据,这样就不会存在数据的冗余,减少了数据下载总量。同时,更新页面时不需要重新加载全部内容,只更新需要更新的那部分内容即可,大大缩短了用户的等待时间。
(3)自动更新页面 web应用中有很多数据的变化是实时的,例如:最新的新闻,天气预报以及聊天室等等。在Ajax出现之前,用户为了即使了解相应的内容必须不断刷新页面,查看是否有新的内容变化,或者页面本身实现定时刷新的功能。 应用Ajax技术可以改善这种这种情况,页面加载以后,会通过Ajax在后台进行定时的轮询,向服务器发送请求,查看是否有最新的消息(当然这种情况是有弊端的,上面也说到了)。如果有则将新的数据下载并且在页面上进行动态的更新,通过一定的方式通知用户。
总结 我们总结一下,Ajax一般会应用在交互较多,频繁读取数据的web应用中。websocket一般会应用在需要提供多个用户相互交流,或需要实时的展示服务端变动的数据这两种情况。了解了这两项技术,在设计到相关产品功能时,就能应对自如了~
以上所有设计图和部分文字均来自网络,如有侵权,请call我删除,感谢~
天津天迅达科技有限公司经过多年来对APP、小程序、以及网站建设的探索,已经帮助每一个客户快速开发出属于自己的APP、小程序、网站,是万千企业之选。
- 数字孪生:现实世界的身外化身 2024-12-06
- 微信公众号全面“今日头条化”,自媒体将迎来“第二春”? 2024-12-04
- 优质长视频的破圈效应 2024-12-05
- 奶茶行业的裂变营销 2024-12-03
- 浅浅分享下支付产品经理如何写全局性的需求文档以及工作流程 2024-12-02
- “麦学”爆红:一场精心策划的营销盛宴 2024-11-29
- 如果遇到麦琳式的领导,怎么办? 2024-11-28