关于ajax类库的局限思考

本文探讨了multipartXHR如何通过流功能实现响应片段的实时处理,提升应用性能,特别适用于无需缓存的外部资源和模块化的网站依赖。同时,文章阐述了其限制,如老版本IE的支持问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前对于各大前端框架来言,都支持访问一个ajax对象,它屏蔽了浏览器之间的差异,给使用者一个统一的接口,使得使用者专注于项目本身而不是XHR的兼容问题。但是:各个前端库在封装统一的接口的时候,XMLHttpRequest本身的一些功能被隐藏了。

 

multipart XHR 中使用了流功能。通过监听readyState为3的状态,我们可以在一个较大的响应还没有完全接受之前把它进行分段处理。这样使得我们可以实时处理响应片段,这也是MXHR能提升性能的主要原因。

 

 

multipart XHR

 

  • 允许客户端只用一个HTTP请求就可以从服务端向客户端传送多个资源。
  • 通过在服务端将资源(CSS,JS等)打包成一个由双方约定的字符串分割的长字符串并发送到客户端
  • 用Javascript代码处理长字符串,并提供它的mime-type类型传入的其他"头信息"解析每个资源


缺点:
  • 以这种方式获取的资源不能被浏览器缓存
  • 老版本的IE不支持readyState为3的状态和data:URL。
  • IE8支持
适合提升性能的应用场景
  • 无需缓存的外部资源(图片等)
  • 网站的每一个页面都已经进行模块化,独立地依赖自己的css与js等文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值