為什么MIP-Cache存在

在去年十月的一篇 博客文章 提到 MIP 加速器是由 MIP-HTML, MIP-JS 和 MIP-Cache 三個模塊共同產生加速效果的。MIP-HTML 和 MIP-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 規范》。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535911.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA知識基礎(十):多態

1.概述 1.1多態的定義 多態是同一個行為具有多個不同表現形式或形態的能力。 多態就是同一個接口,使用不同的實例而執行不同操作。 多態性是對象多種表現形式的體現。 1.2多態的優點 消除類型之間的耦合關系可替換性可擴充性接口性靈活性簡化性 1.3多態存在的三個…

MIP技術交流分享(3月9日)

3月9日上周四下午,MIP 團隊工程師與去哪兒酒店云、眾薈的 Web 前端工程師進行了一次面對面的技術交流。 在這次交流中,MIP 工程師主要分享了 MIP 技術原理,MIP 加速原理,以及 MIP 為開發者提供的工具集。去哪兒的工程師也提出了通…

JAVA知識基礎(十一):異常

1.異常的概念 簡單說就是不正常運行,最終導致JVM的非正常停止。 在Java等面向對象的編程語言中,異常本身是一個類,產生異常就是創建異常對象并拋出了一個異常對象。Java處理異常的方式是中斷處理。 異常指的并不是語法錯誤,語法錯了,編譯不…

SpringBoot基礎篇(一):Spring Boot入門

我們今天開始對SpringBoot的學習,本篇主要是Spring Boot的入門部分。 1、SpringBoot簡介 引用SpringBoot在百度百科中的含義: Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使…

SpringBoot基礎篇(二):HelloWorld細節探究

1、場景啟動器 1.1依賴 <!--Hello World項目的父工程是org.springframework.boot--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</versio…

MIP 與 AMP 合作進展(3月7日)

“到目前為止&#xff0c;全網通過 MIP 校驗的網頁已超10億。除了代碼和緩存&#xff0c; MIP 還想做更多來改善用戶體驗移動頁面。” 3月7日&#xff0c;MIP 項目負責人在首次 AMP CONF 上發言。 那么 MIP 和 AMP 的關系是什么呢&#xff1f; AMP 是一個開源性項目&#xff…

SpringBoot番外篇(一):使用Spring Initializer快速創建Spring Boot項目(IDEA版)

IDE都支持使用Spring的項目創建向導快速創建一個Spring Boot項目&#xff1b; 選擇我們需要的模塊&#xff1b;向導會聯網創建Spring Boot項目&#xff1b; ps:需要聯網 1、創建新項目時選擇Spring Initializ&#xff0c;選擇好java版本&#xff0c;點擊next。r 2、填寫項…

開發教程(四) MIP組件平臺使用說明

組件審核平臺用于上傳 MIP 組件。經過自動校驗之后&#xff0c;提交審核&#xff0c;通過審核的組件會定時推送到線上&#xff0c;供網站使用。 平臺地址&#xff1a;https://www.mipengine.org/platform/ 1. 使用說明 MIP 組件審核平臺用于提交開發完成的組件&#xff0c;如…

MIP 技術交流分享(3月15日)

3月15日下午&#xff0c;MIP 團隊工程師與58趕集的 Web 前端工程師進行了一次面對面的技術交流。 在這次交流中&#xff0c;MIP 工程師主要分享了 MIP 技術原理&#xff0c;MIP 加速原理&#xff0c;以及 MIP 為開發者提供的工具集。 58趕集的工程師提出了以下問題&#xff1a…

Redis(零):背景

什么是NoSQL&#xff0c;什么是Redis&#xff0c;我們在了解這個系列之前&#xff0c;先來看一下Redis是從何而來&#xff1f;Why redis is needed? 1、單機MySQL年代 在最早的單機MySQL年代&#xff0c;存在著訪問量小&#xff0c;單個數據庫等特點。 但是特有著眾多的缺…

Redis(一):什么是NoSQL與NoSQL分類

1、什么是NoSQL NoSQL Not only SQL (不僅是SQL)&#xff0c;即泛指非關系型數據庫。隨著Web2.0時代誕生&#xff01;NoSQL在當今大數據的環境下發展十分迅速&#xff01; NoSQL 是一項全新的數據庫革命性運動&#xff0c;早期就有人提出&#xff0c;發展至2009年趨勢越發高漲…

MIP 內容聲明

從搜索結果頁點出的 MIP 頁面&#xff0c;其頁面上的任何內容&#xff08;包括但不限于廣告、在線咨詢、統計等組件&#xff09;均視為在原站點上的投放和使用。 MIP &#xff08;Mobile Instant Pages - 移動網頁加速器&#xff09;, 是一套應用于移動網頁的開放性技術標準。…

Redis(二):Redis入門與性能測試

1、Redis概述 Redis是什么&#xff1a; Redis&#xff08;Remote Dictionary Server )&#xff0c;即遠程字典服務&#xff0c;是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫&#xff0c;并提供多種語言的API。 免費開源&#xf…

互聯網的發展背離了其初衷嗎?

作者 | 高磊 編輯 | 尾尾 一、互聯網初衷究竟是什么&#xff1f; 互聯網的初衷究竟是什么&#xff1f; 對于這個問題&#xff0c;被譽為“互聯網之父”的蒂姆伯納斯李&#xff08;Tim Berners-Lee&#xff09;應該最有發言權。 伯納斯李認為&#xff0c;互聯網最具價值的地…

Redis(三):Redis基礎知識與常用命令

1、基礎命令 Redis默認有16個數據庫&#xff0c;用的是第0個數據庫&#xff0c;可以使用select進行切換數據庫&#xff0c;使用DBSIZE查看DB大小&#xff08;只針對當前數據庫&#xff09;。 使用keys * 查看當前數據庫下所有的key&#xff0c;使用flushdb清除當前數據庫&am…

移動Web加速技術月報第1期

作者 | Brilliant Open Web團隊breezet、JennyL 編輯 | 尾尾 為推進Web技術的發展&#xff0c;Brilliant Open Web 團隊特推出每月一期的《移動Web加速技術月報》&#xff0c;該月報將整理較流行的移動Web加速技術&#xff0c;并跟進各項技術的進展和發展方向&#xff0c;以期…

Redis(四):String字符串數據類型詳解

Redis 字符串數據類型的相關命令用于管理 redis 字符串值&#xff0c;基本語法如下&#xff1a; redis 127.0.0.1:6379> COMMAND KEY_NAME1、String類型的常用命令 1.1、set、get SET key v//設置key值為v get key //獲取key值1.2、Append APPEND key "hi" //…

五個案例簡述Web設計原則:通用一致

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容&#xff0c;同時會提供相應的實際案例及資源下載。歡迎關注OpenWeb開發者&#xff0c;訂閱《Web設計指南》。 前言 《Web設計指南》是專門為廣大Web內容生態提供一套簡單實用的設計指南&a…

Redis(五):List集合數據類型詳解

Redis列表是簡單的字符串列表&#xff0c;按照插入順序排序。你可以添加一個元素到列表的頭部&#xff08;左邊&#xff09;或者尾部&#xff08;右邊&#xff09; 一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。 實例&#xff1a; redis 127…

WebP 在減少圖片體積和流量上的效果如何?WebP 技術實踐分享

作者 | Jackson 編輯 | 尾尾 不論是 PC 還是移動端&#xff0c;圖片一直占據著頁面流量的大頭&#xff0c;在圖片的大小和質量之間如何權衡&#xff0c;成為了長期困擾開發者們的問題。而 WebP技術的出現&#xff0c;為解決該問題提供了好的方案。本文將為大家詳細介紹 WebP 技…