在去年十月的一篇 博客文章 提到 MIP 加速器是由 MIP-HTML, MIP-JS 和 MIP-Cache 三个模块共同产生加速效果的。MIP-HTMLMIP-JS 都是开源的,在 GitHub 上可以访问。但 MIP-Cache 是百度提供的,所有从百度搜索结果页打开的页面都是 MIP-Cache 的页面。那么,为什么 MIP-Cache 存在呢?

1. CDN 加速

CDN (Content Delivery Network) 加速原理,简单来说就是在不同地点建立内容缓存节点。通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容。

MIP-Cache 可以理解为一套 CDN 缓存系统。当用户从百度搜索结果页访问 MIP 页面时,请求首先会发到 MIP-Cache CDN 服务器,如果页面存在,则从 CDN 直接返回静态页面;如果页面不存在或过期,则会请求第三方服务器 (或站长自己使用的 CDN)。本次返回的符合 MIP 规范的页面会同时加入 MIP-Cache,为下次页面请求做准备。

2. 缓存静态文件,同源策略加速

百度 MIP-Cache 给所有符合 MIP 规范,能通过 MIP 校验 的 MIP 页面提供静态文件的缓存服务,静态文件包括图片,外链 CSS 文件 (不推荐) 等。在缓存静态文件的同时,HTML 页面本身也会被改写,引用图片的地址会被修改为 MIP-Cache 中的图片地址。

缓存静态文件带来最大的好处是避免从不同域名下读取静态文件,使用同源策略减少 DNS 解析时间,能够加速加载速度。

3. 百度搜索的预取加速

页面预取是指在搜索结果页展示后,用户点击某条结果之前,搜索引擎就开始预测用户可能点击的结果,提前加载落地页的内容。在用户真正点击这条结果时,结果的内容已经从远端进入了浏览器缓存,省去了网络加载时间。

搜索预取会请求 MIP-Cache 内容,所有进入 MIP-Cache 的页面都被认为是合法的 MIP 页(原理见下文)。目前 MIP 项目组正在讨论预取的技术方案,请关注博客进展。

附: MIP-Cache 的更新和校验策略

考虑到站长有更新页面的需求,MIP-Cache 会定期重新抓取 MIP 页并进行校验。

在 MIP-Cache 中:

  • 页面的缓存时间为 52 分钟-5 天(由该页面用户点击量和站点本身稳定性决定)。
  • 图片缓存时间为 10 天。
  • MIP-JS 组件文件的缓存时间为 10 分钟。

在当前文件过期后,MIP-Cache 会重新抓取资源。如果是 HTML 页面,MIP-Cache 还会对页面文件进行 MIP 规范校验。如果此时页面内容不再符合 MIP 规范,MIP-Cache 就不再缓存这个页面了。这样,所有 MIP-Cache 中的页面都是最新的,并且符合 MIP 规范。

如果要快速清理 MIP-Cache 内容,请参考站长平台 MIP-Cache 说明。注意,对于同一个站点,每 100 秒最多清理 10 条。

MIP-Cache 使用方法及 URL 生成规则,请查阅 MIP 官方文档 《MIP-Cache 规范》

为什么MIP-Cache存在的更多相关文章

  1. MIP改造常见问题二十问

    在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...

  2. 百度MIP移动页面加速——不只是CDN

    MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...

  3. 如何用百度MIP快速搭建体验友好的移动页面

    在读这篇文章之前,请确定你已经了解MIP定义及加速原理.如果不确定的话,可以到MIP官网了解. 改造前期准备和注意事项: 你可以选择直接将原先的移动站点直接改成MIP站,也可以单独再做一套MIP站点与 ...

  4. 百度推出 MIP Shell 链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP-Shell URL. 从 URL 说起 在互联网中,URL 定义页面的地址,每个 ...

  5. MIP 问题解决方案大全(2018-06更新)

    在 MIP 推出后,我们收到了一些站长的疑问.现将常见问题整理出来,帮助大家了解 MIP 的知识. 一.MIP 认知类问题 二.改造前准备 三.前端改造,组件使用 四.提交生效 五.MIPCache ...

  6. WebP 在减少图片体积和流量上的效果如何?MIP技术实践分享

    作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端,图片一直占据着页面流量的大头,在图片的大小和质量之间如何权衡,成为了长期困扰开发者们的问题.而 WebP 技术的出现,为解决该问题提 ...

  7. 百度推出 MIP Baidu Path链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP Baidu Path. 从 URL 说起 在互联网中,URL 定义页面的地址,每 ...

  8. MIP是什么

    MIP (Mobile Instant Pages - 移动网页加速器), 是一套应用于移动网页的开放性技术标准.通过提供MIP-HTML规范.MIP-JS运行环境以及MIP-Cache页面缓存系统, ...

  9. 谷歌AMP和百度MIP是什么鬼?

    首先我们来看定义: 谷歌AMP(Accelerated Mobile Pages,加速移动页面)是Google推出的一种为静态内容构建 web 页面,提供可靠和快速的渲染,加快页面加载的时间,特别是在 ...

  10. 了解MIP(Mobile Instant Pages)

    mip官网:https://www.mipengine.org/   什么是mip? mip是百度在2016年提出的移动网页加速器项目.可以简单理解为是一个规范.   mip能做什么? mip能帮助站 ...

随机推荐

  1. nodejs-2.httpfuwu

    一.使用nodejs的http服务:处理 "请求或响应" 数据 要使用 HTTP 服务器与客户端,需要 require('http'). Node.js 中的 HTTP 接口被设计 ...

  2. HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相册

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/32964301 首先说明一下创意的出处:http://www.zhangxinxu ...

  3. ImageMagick简介、GraphicsMagick、命令行使用示例

    http://elf8848.iteye.com/blog/382528 ImageMagick资料 ------------------------------------------------- ...

  4. cassandra 在window上的demo

    Cassandra   window使用 1.        下载:http://cassandra.apache.org/download/. 2.        解压后,bin目录下,cassan ...

  5. 查询订阅某topic的所有consumer group(Java API)

    在网上碰到的问题,想了下使用现有的API还是可以实现的. 首先,需要引入Kafka服务器端代码,比如加入Kafka 1.0.0依赖: Maven <dependency> <grou ...

  6. 在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)

    在tomcat下部署两个或多个项目时 web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为"webapp.root",如下: <!-- 应用路径 ...

  7. Tomcat 优化方案 和 配置详解(转)

    转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...

  8. 查看keras自动给文件夹标号

    from tensorflow.contrib.keras.api.keras.preprocessing.image import ImageDataGenerator,img_to_array f ...

  9. unison+inotify的Web目录同步方案

    1.在Linux下做WEB目录文件同步 一般有如下几种方式: ----------------------------------------------- 1)       nfs实现web数据共享 ...

  10. typeconfig.json配置说明

    如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录. 不带任何输入文件的情况下调用tsc,编译器会从当前目录开始去查找tsconfig.jso ...