MIP加速原理介绍 MIP加速原理是什么

 更新时间:2016年12月21日 21:00  点击:1389
本次为大家带来的是MIP加速原理介绍,将为您详细阐释MIP页面的加速原理,下面请看详细内容。

经过精心设计的JavaScript

为了去除臃肿的客户端脚本,MIP文件不允许自定义JavaScript;对一些强依赖JavaScript的功能(如:广告、统计和交互),MIP提供与MIP runtime兼容的封装好的组件来实现。

JavaScript 引用原则:

  • 目前MIP不允许用户自定义JavaScript,需要用MIP 组件的形式引进来,从而确保安全性和性能表现

  • 可以引用mip-iframe来引入实现部分富交互的功能,这样,即使开发时使用最影响性能的document.write,也不会影响主页面的渲染

  • MIP组件是开源的,允许开发者自定义功能组件,项目也将持续提供多样的组件,以适应不同的需求

所有静态资源需要标明尺寸

在页面开发时,资源常常不会被设定宽高,特别是使用广告或者通过调用 `document.write() 注入的时候。由于资源大小不能确定,页面经常要进行反复重新的绘制;

现在,MIP要求将所有的资源(广告、图片、音频和视频)标明尺寸。当资源真正加载时,所有资源大小可以被立即推断出并迅速的用于计算页面布局,加载中的资源将无缝呈现,不必因为页面频繁更新布局而影响到用户的阅读体验。

不允许任何机制阻止页面渲染

开发者的任何自定义脚本,都需要用MIP的tag反馈给MIP,例如mip-ad、mip-iframe等,这些方式不会阻塞页面的layout和渲染。

控制外部资源加载

MIP runtime会控制外部资源的额加载来确保其高效性,从而使用户想阅读的内容尽快出现在屏幕中。

封装交互功能

MIP提倡网页能给用户直接简单的体验,但这并不意味着MIP限制了页面的生动和有趣。MIP runtime提供了高度优化的被封装的JavaScript,开发者无需投入过多精力去实现复杂的交互功能。

只允许inline的css

css的加载,会阻止页面的渲染,css内联可以减少客户端的开销。

只允许GPU加速的动画

MIP只允许用transforms和opacity来完成动画效果,当动画能在GPU上执行时,仅触发渲染层合并。

MIP 缓存

MIP另一个重要的意义在于能够帮站长加速网页,百度将会把MIP网页缓存到百度CDN中。只要符合MIP标准,都可以使用MIP缓存。

开放且持续更新

MIP是一个开源项目,所有的标准并非一成不变。我们会持续不断进行优化,期待您的共同参与!

MIP的全称是Mobile Instant Pages,中文名字为移动网页加速器, 是一套应用于移动网页的开放性技术标准。通过提供MIP-HTML规范、MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速。

MIP主要由三部分组织成:

  • MIP HTML
  • MIP JS
  • MIP Cache

MIP HTML 基于HTML中的基础标签制定了全新的规范,通过对一部分基础标签的使用限制或功能扩展,使HTML能够展现更加丰富的内容;MIP JS 可以保证 MIP HTML 页面的快速渲染;MIP Cache 用于实现MIP页面的高速缓存,从而进一步提高页面性能。

1. MIP HTML

MIP HTML 基于HTML基础规范进行了扩展,下面是一段简单的MIP HTML代码示例:

<!DOCTYPE html> 
<html mip> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> 
<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css"> 
<link rel="canonical" href="https://www.mipengine.org/"> 
<!-- noscript 标签是为了在不支持script的环境下快速的展现 mip 页面,推荐使用 --> 
<noscript> 
<style mip-officialrelease> 
body { 
-webkit-animation:none; 
-moz-animation:none; 
-ms-animation:none; 
animation:none
} 
</style> 
</noscript> 
</head> 
<body>Hello World!</body> 
<script src="https://mipcache.bdstatic.com/static/v1/mip.js"></script> 
</html> 

MIP HTML 规范中有两类标签,一类是HTML常规标签,另一类是MIP标签。MIP标签也被称作 MIP HTML 组件,使用它们来替代HTML常规标签可以大幅提升页面性能。

例如,mip-img标签,它使得图片只在需要时才进行加载,减少了页面渲染时间,节省了用户的流量。

阅读MIP HTML 规范了解更多信息。

2. MIP JS

MIP JS 用于管理资源的加载,并支持上述MIP标签的使用,从而确保页面的快速渲染,提高页面各方面的性能。

MIP JS 最显著的优势是能够异步加载所有外部资源,整个页面渲染过程不会被页面中的某些元素阻塞,从而实现页面渲染速度的提升。

此外,MIP JS 还涵盖了所有iframe的沙盒、于资源加载前提前计算页面元素布局、禁用缓慢css选择器等技术性能。

3. MIP Cache

MIP Cache 是一套基于代理的 CDN(Content Delivery Network) 缓存系统,可用于缓存所有被百度相关页面引用或者从百度相关服务点出的MIP页面。用户在访问 MIP 页面的时候,请求首先会发到 CDN 服务器,如果页面存在,则从 CDN 返回,如果 CDN 上不存在,则会请求第三方服务器。同时 MIP Cache 服务器会将页面缓存到 CDN 上。

在使用 MIP Cache 时,MIP 页面所需要的所有静态文件和外部资源都会被缓存到 CDN 上(视频除外),并且页面中的资源链接会被转换成相对地址,很大程度上提升了页面渲染速度。每一个 MIP 页面都会绑定一个验证系统,在页面进行渲染时,这种验证器可以直接在浏览器控制台中输出页面的错误;并且随着代码逻辑的变化,能够展示其对页面性能以及用户体验的影响。

最近发现不少新站长都还不知道301跳转是什么意思,本次一聚教程网为大家带来了讲解,并且介绍了一些关于301跳转的常见问题,下面请看详细的介绍。

问:什么是301跳转?

答:页面永久性移走,通常叫做301跳转,也叫301重定向、301转向,指的是当用户点击一个网址时,通过技术手段跳转到指定的一个网站,一般在更换域名或路径时使用。

 

问:301跳转方法是什么?

注意:静态网页不可以做301转向

由于静态网页不可以做301转向,您可以使用JS或者其他脚本来解决转向问题。

PHP转向版本

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://你的网址/");

exit();

ASP转向版本

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://你的网址/"

Response.End

 

问:我设置了301跳转,多久可以生效?

答:目前百度无法承诺301跳转的生效时间,因为站长感受到的生效时间会受多因素影响,比如Baiduspider再次抓取这个页面发现其设置了301的时间、网页的重要程度以及自身质量等。

 

问:301跳转生效后,原网页是否会被删除?

答:不会,会与跳转后的新网页同时存在。

 

问:原网页新网页都存在,相当于两个内容重复的页面,排名怎么处理?

答:通常百度会认为跳转后的新网页更加重要,原网页是被放弃的网页,会让新网页继承原网页属性,在搜索结果中会优先展现新网页。

 

问:将老域名跳转到新域名,是仅首页301就可以了?还是必须所有页面301?

答:必须所有页面301至新域名的相应页面。

 

问:原域名所有页面都跳转至新域页首页会有什么影响?

答:新域名首页将会替换旧域名首页,新域名首页仅继承旧域名首页的属性,不会产生1+1>2的效果。旧域名在短时间内仍然可查。但随着时间推移,旧域名由于质量下降最终会被清除出数据库。

不少站长都在问网站换域名对网站有什么影响?网页内容改版对网站有什么影响?本次一聚教程网为大家带来了一些相关问题的解答,希望对大家有所帮助。

Q:网站更换域名,会对网站排名有影响吗?对收录有影响吗?

A:会对网站排名和收录造成影响,不推荐更换域名。若品牌需要等原因,必须换域名,建议做好301跳转规则后,在站长工具提交改版规则和死链处理。

Q:网站从目录级更换为二级域名,会对网站排名有影响吗?

A:从目录级更换为二级域名,如之前为www.baidu.com/news/,需更新为news.baidu.com,这类现象视为URL改动,会对网站排名,收录有影响。这类改版同样也需要在站长工具提交改版规则和死链处理。

Q:网站改版多个子域名,换成主站子目录,对主站有影响吗?

A:从子域名更换为子目录,如之前URL为news.baidu.com/news,需更新为www.baidu.com/news/,这类现象视为URL改动,会对网站排名,收录有影响。这类改版同样也需要在站长工具提交改版规则和死链处理。

Q:网站页面排版发生改变,会对网站排名,收录有影响吗?

A:网站页面结构改版,仅是页面样式发生变化,不会对排名、收录有影响;只有涉及到页面URL改变,才会对网站排名、收录有影响。

Q:网站换域名后,旧域名的所有内容全部301指向新域名首页,这样可以吗?

A:强烈建议不要这么做,多个页面跳转到一个页面,首先你在站长工具中提交改版规则是不能通过的,建议将原来的页面301跳转到新域名下对应的页面。

Q:网站换域名后,部分老数据会删除,如何处理?

A:百度站长工具,在原域名下,将删除的URL提交死链

Q:网站换域名后,新旧页面的301跳转关系多长时间可以取消?

A:改版跳转关系请保持至少三个月,直到新站流量完全稳定。

Q:网站换域名后对站长平台上的一些特权会不会有影响,例如LOGO、子链、VIP?

A:Vip会保留,其他则无法替换权限

Q:网站换域名后官网保护可以重新申请吗?和之前的会不会有冲突?

A:需重新申请官网保护,需在反馈中心提交反馈,撤销之前的官网保护及保护需求词

Q:网站换域名后会不会对新闻源有影响?

A:需重新申请新闻源

Q:网站改版,不换域名,但是改变URL结构,对新闻源的收录有没有影响 ?

A:域名结构由abc.com/news换成abc.com/ent等于换域名,仍需重新申请新闻源

Q:网站换域名后,是等待新域名百度收录后再做301跳转,还是新域名上线后立马做跳转关系?

A:不用等百度收录站点,可以立即做跳转;然后到改版工具中提交改版规则,改版校验过程中会抓取校验新连接,如果校验成功,会在最长48小时后线上生效改版规则。

Q:网站服务器调整,会影响收录吗?

A:正常操作没有影响,主要看在切换服务器的时候,网站是否会停止访问,停止访问时间有多长,建议网站在切换服务器的时候,尽量缩短停止访问时间。另外如果网站ip发生变化了,spider如果没有及时发现ip发生变化,会导致抓取失败,影响网站收录

[!--infotagslink--]

相关文章

  • 浅析Promise的介绍及基本用法

    Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。接下来通过本文给大家介绍Promise的介绍及基本用法,感兴趣的朋友一起看看吧...2021-10-21
  • PHP的运行机制与原理(底层)

    说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组...2015-11-24
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • Framewrok7 视图介绍(views、view)使用介绍

    下面我们来看一篇关于Framewrok7 视图介绍(views、view)使用介绍吧,希望这篇文章能够帮助到各位朋友。 一、Views 与View的介绍 1,Views (<div class="views">) (1)Vi...2016-10-02
  • java中Base64编码原理实例讲解

    这篇文章主要介绍了java中Base64编码原理实例讲解,文章讲解的很清晰,有对于这方面不太懂的同学可以研究下...2021-02-10
  • Vue中key的作用及原理详解

    本文主要介绍了Vue3中key的作用和工作原理,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-13
  • Monolog PHP日志类库使用详解介绍

    PHP日志类库在低版本中我们都没有看到了但在高版本的php中就有了,下面我们来看一篇关于PHP日志类库使用详解介绍吧. Monolog遵循PSR3的接口规范,可以很轻易的替换...2016-11-25
  • C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下...2020-06-25
  • php获取当前url地址的方法介绍

    这篇文章介绍了php获取当前url地址的方法小结,有兴趣的同学可以参考一下 本文实例讲述了php获取当前url地址的方法。分享给大家供大家参考,具体如下: js 获取: ...2017-01-22
  • 在Visual Studio 中使用git及Git概念

    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具,本文重点给大家介绍在Visual Studio 中使用git及git的工作原理,感兴趣的朋友一起看看吧...2021-05-19
  • PHP-GTK 介绍及其应用

    1. PHP-GTK介绍 1.1 PHP-GTK PHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就...2016-11-25
  • Python基础之Socket通信原理

    这篇文章主要介绍了Python基础之Socket通信原理,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-22
  • 不错的mod_perl编程的简单应用实例介绍

    介绍性指南 mod_perl 是个庞大而复杂的工具,它内建了许多模块帮助你方便地构建动态网站。这篇指南的目的是帮助你构建一个良好的 mod_perl 模块,并从中理解 mod_perl 的实现...2020-06-29
  • PHP 获取文件目录权限函数fileperms介绍

    在php中要获取或目录权限我们可使用fileperms函数来获取,fileperms() 函数返回文件或目录的权限,。若成功,则返回文件的访问权限。若失败,则返回 false。 例子 1 ...2016-11-25
  • php设置时区方法介绍

    php默认时区是欧美国家的所以与我们中国时区相差了整整8小时哦,下面我来给各位介绍php设置时区方法,有需要了解的朋友可进入参考。 在 php.ini 中,默认是 date.timez...2016-11-25
  • 百度云CDN加速的配置到网站的教程

    百度云CDN加速可以为站长免费提供cdn加速了,这样不但可以防止一些攻击的同时还可以让网站打开速度更快了,下面我们来看一篇百度云CDN加速的配置到网站的教程 一、设...2016-10-10
  • OpenCart网站迁移步骤详细介绍

    OpenCart是国外著名的开源电子商务系统,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到18种,其中包括中文,俄文,法文,西班牙文,德文等等,下面...2016-10-10
  • Mysql创建数据库和独立数据库帐号方法介绍

    本文章来给各位同学介绍phpMyadmin创建Mysql数据库及独立数据库帐号建立,如果你不会mysql命令来创建数据库之类的我们可以使用phpmyadmin来完成哦。 phpMyadmin创...2016-11-25
  • css的选择器的详细介绍

    选择器是可以选择指定那个样式了,今天我们来看一篇关于选择器的一个用法,希望这篇文章能够帮助到各位理解到css的选择器了,具体的细节如下文介绍。 前言 css选择器,是...2016-10-10
  • java进阶之了解SpringBoot的配置原理

    今天带大家了解SpringBoot的相关知识,文中对SpringBoot的配置原理作了非常详细的图文示例及介绍,需要的朋友可以参考下...2021-06-04