在去年十月的一篇 博客文章 提到 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. java基础 lang包 详细介绍

    Java.javax和org.其中以java开头的包名是JDK的基础语言包,以javax开头的属 (org是organization的简写).而在JDK API中还包含了一些以com.sun开头的包名 ...

  2. asp.net mvc 使用 Autocomplete 实现类似百度,谷歌动态搜索条提示框。

    Autocomplete是一个Jquery的控件,用法比较简单. 大家先看下效果: 当文本框中输入内容,自动检索数据库给出下拉框进行提示功能. 需要用此控件大家先到它的官方网站进行下载最新版本: ht ...

  3. 执行指定iframe页面的脚本

    mark一下,通过jQuery执行指定iframe页面里面的脚本,当前仅知道页面名称. $(window.top.document).find('iframe[src="pagesrc&qu ...

  4. Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面

    一.看下内部原理 简化后的认证过程分为7步: 用户访问网站,打开了一个链接(origin url). 请求发送给服务器,服务器判断用户请求了受保护的资源. 由于用户没有登录,服务器重定向到登录页面 填 ...

  5. How to set spring boot active profiles with maven profiles

    In the previous post you could read about separate Spring Boot builds for a local development machin ...

  6. nodejs-2.httpfuwu

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

  7. 在docker上运行.net core程序

    一.安装docker及镜像 1.在centos上安装docker,命令如下: # yum install docker 2.让docker随机启动: # service docker start# c ...

  8. 【强连通分量+概率】Bzoj2438 杀人游戏

    Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手. 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是 ...

  9. 虚拟机console基础环境部署——配置本地YUM源

    1. CD/ROM装载系统镜像2. 挂载设备3. 配置本地源4. 总结 有关YUM源及Linux系统三大软件管理方式,参照博客<CentOS系统三大软件管理>,笔记内链:CentOS系统三 ...

  10. STM32基于固件库新建MDK工程模板(精简版)

    上个博文理论讲解的东西太多,太复杂,这里把所有步骤全部贴出 1.新建一个工程文件夹LED 2.LED文件夹下建立如下文件夹 3.Project –>New Uvision Project 到US ...