基本信息
MIP (Mobile Instant Pages - 移動網頁加速器), 是一套套用於移動網頁的開放性技術標準。通過提供MIP-HTML規範、MIP-JS運行環境以及MIP-Cache頁面快取系統,實現移動網頁加速。
MIP主要由三部分組織成:
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/mipmain-v0.0.1.css"> </head> <body>Hello World!</body> <script src="https://mipcache.bdstatic.com/static/mipmain-v0.0.1.js"></script> </html>
MIP HTML 規範中有兩類標籤,一類是HTML常規標籤,另一類是MIP標籤。MIP標籤也被稱作 MIP HTML 組件,使用它們來替代HTML常規標籤可以大幅提升頁面性能。
例如,mip-img標籤,它使得圖片只在需要時才進行載入,減少了頁面渲染時間,節省了用戶的流量。
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 頁面都會綁定一個驗證系統,在頁面進行渲染時,這種驗證器可以直接在瀏覽器控制台中輸出頁面的錯誤;並且隨著代碼邏輯的變化,能夠展示其對頁面性能以及用戶體驗的影響。