首页 > 其他 > 详细

同步与异步的区别

时间:2020-09-25 11:39:53      阅读:47      评论:0      收藏:0      [点我收藏+]

同步请求

1.当你去访问一个网站时,只要服务器不给你返回数据,那么你只有等待,等到服务器的数据给你返回数据了才能看到页面,没有返回,只能"无尽的"等待,等待的过程中,很多时候都会出现白屏的现象,要是时间过长,就不会再等待了,传统的同步请求,对于用户体验不太友好,为了增强用户体验,所以就有了异步请求

异步请求

特点: "异步加载 局部更新"
1.假如服务器没有找到数据,那么就不等待,去干别的事情,异步请求的底层都是基于Ajax或跨域的方式来实现功能特效,原生的Ajax实现页面局部更新的核心就是,在请求服务端的时候,返回的内容仅仅是一段文本或者代码,只操作一部分的页面,没必要进行整个页面的解析,如果说文件太大,这种时候明显会减少带宽,效率也会明显的提高,采用异步的方式,从后台传递的数据明显降低,请求的效率明显提高

两者之间的行为

同步:"阻塞"
彼此等待,这里的彼此指的是浏览器与服务器端的Apache,当年在请求的过程中,如果说Apache或者与Apache类似的应用软件不给你响应相应的数据,只能"阻塞"(页面卡顿)

异步:"不阻塞"
当我们访问一个网站时,比如像新闻资讯类的网站,底部都会有"加载更多"的字样,当我们点击"加载更多"的时候,服务器响应的比较慢,但这个时候页面不会刷新,不会显示白屏,这样用户的体验也会大大的提高

异步请求的过程解析

领导想找小杨汇报一下工作
技术分享图片

1.领导告诉秘书去把小杨给叫过来
2.领导接着干别的事情
3.秘书去叫小杨
4.秘书带小杨见领导
5.秘书告诉领导小杨来啦
6.小杨跟领导汇报工作

浏览器Ajax请求服务端
技术分享图片

1.浏览器让xhr去跟服务器要点数据
2.浏览器接着干别的事情
3.xhr去向服务器请求数据
4.服务器返回数据给xhr
5.xhr通知浏览器数据已接收到了
6.浏览器收到xhr返回的数据渲染页面

同步与异步的区别

原文:https://www.cnblogs.com/Chinatsu/p/13728134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!