百度mip引入主要就是为了页面加速,百度mip具体的加速原理是什么呢?
为了避免客户端脚本过于臃肿,mip文件不允许自定义JavaScript;但是一些广告、统计和交互类的功能对于JavaScript的依赖性比较强,为了兼顾这一方面,mip提供与MIP runtime兼容的封装好的组件来实现。
JavaScript 引用原则:
(1)目前用户使用mip的时候是不能自定义JavaScript的,需要引入相关的mip组件来实现,这样可以提高安全性和性能。
(2)可以引用mip-iframe来引入实现部分富交互的功能,这样,即使开发时使用最影响性能的document.write,也不会影响主页面的渲染
(3)MIP组件是开源的,允许开发者自定义功能组件,项目也将持续提供多样的组件,以适应不同的需求
所有静态资源需要标明尺寸
开发页面的时候,资源一般是不会被设定宽高的,特别是页面有广告或者是调用document.write() 注入的时候,资源的大小是不能确定的,所以页面会出现经常修改绘制的情况。
mip要求所有的资源标明尺寸,包括广告、图片、视频和音频等。当资源加载的时候,所有的资源所有资源大小可以被立即推断出并迅速的用于计算页面布局,加载中的资源将无缝呈现,不必因为页面频繁改动而影响用户体验。
百度mip不允许任何机制阻止页面渲染
开发者的任何自定义脚本,都需要用MIP的tag反馈给MIP,例如mip-ad、mip-iframe等,这些方式不会阻塞页面的layout和渲染。
控制外部资源加载
MIP runtime会控制外部资源的额加载来确保其高效性,从而将用户最想看到的内容尽快出现在屏幕中。
封装交互功能
百度MIP虽然提倡网页给的用户体验是最直接简单的,但是这并不是说MIP限制了页面的生动和有趣。MIP runtime提供了高度优化的被封装的JavaScript,开发者在使用的时候不需要投入过多精力去实现复杂的交互功能。
百度mip只允许inline的css
css的加载,会阻止页面的渲染,css内联可以减少客户端的开销。
只允许GPU加速的动画
MIP只允许用transforms和opacity来完成动画效果,当动画能在GPU上执行时,仅触发渲染层合并。
MIP 缓存
MIP还有一个重要的意义在于能够帮站长加速网页,百度将会把MIP网页缓存到百度CDN中。只要是符合MIP标准的,都可以使用MIP缓存。
百度mip是开放的且持续更新
MIP是一个开源的项目,所有的标准并非一成不变。
河南亿恩科技股份有限公司(www.enkj.com)始创于2000年,专注服务器托管租用,是国家工信部认定的综合电信服务运营商。亿恩为近五十万的用户提供服务器托管、服务器租用、机柜租用、云服务器、网站建设、网站托管等网络基础服务,另有网总管、名片侠网络推广服务,使得客户不断的获得更大的收益。
服务器/云主机 24小时售后服务电话:
0371-60135900
虚拟主机/智能建站 24小时售后服务电话:
0371-55621053
网络版权侵权举报电话:
0371-60135995
服务热线:
0371-60135900