MIP是什么

2018-11-07 17:27 更新

MIP (Mobile Instant Pages - 移動(dòng)網(wǎng)頁(yè)加速器), 是一套應(yīng)用于移動(dòng)網(wǎng)頁(yè)的開(kāi)放性技術(shù)標(biāo)準(zhǔn)。通過(guò)提供MIP-HTML規(guī)范、MIP-JS運(yùn)行環(huán)境以及MIP-Cache頁(yè)面緩存系統(tǒng),實(shí)現(xiàn)移動(dòng)網(wǎng)頁(yè)加速。

MIP主要由三部分組織成:

  • MIP HTML
  • MIP JS
  • MIP Cache

MIP HTML 基于HTML中的基礎(chǔ)標(biāo)簽制定了全新的規(guī)范,通過(guò)對(duì)一部分基礎(chǔ)標(biāo)簽的使用限制或功能擴(kuò)展,使HTML能夠展現(xiàn)更加豐富的內(nèi)容;MIP JS 可以保證 MIP HTML 頁(yè)面的快速渲染;MIP Cache 用于實(shí)現(xiàn)MIP頁(yè)面的高速緩存,從而進(jìn)一步提高頁(yè)面性能。

1. MIP HTML

MIP HTML 基于HTML基礎(chǔ)規(guī)范進(jìn)行了擴(kuò)展,下面是一段簡(jiǎn)單的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-v1.1.1.css">
        <!-- rel="standardhtml" 與 rel="canonical" 含義相同,后者必須存在 -->
        <link rel="canonical" href="https://www.mipengine.org/">
        <link rel="standardhtml" href="https://www.mipengine.org/">
        <!-- noscript 標(biāo)簽是為了在不支持script的環(huán)境下快速的展現(xiàn) mip 頁(yè)面,推薦使用 -->
        <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/mipmain-v1.1.2.js"></script>   
</html>

MIP HTML 規(guī)范中有兩類標(biāo)簽,一類是HTML常規(guī)標(biāo)簽,另一類是MIP標(biāo)簽。MIP標(biāo)簽也被稱作 MIP HTML 組件,使用它們來(lái)替代HTML常規(guī)標(biāo)簽可以大幅提升頁(yè)面性能。

例如,mip-img標(biāo)簽,它使得圖片只在需要時(shí)才進(jìn)行加載,減少了頁(yè)面渲染時(shí)間,節(jié)省了用戶的流量。

閱讀 MIP HTML 規(guī)范 了解更多信息。

2. MIP JS

MIP JS 用于管理資源的加載,并支持上述MIP標(biāo)簽的使用,從而確保頁(yè)面的快速渲染,提高頁(yè)面各方面的性能。

MIP JS 最顯著的優(yōu)勢(shì)是能夠異步加載所有外部資源,整個(gè)頁(yè)面渲染過(guò)程不會(huì)被頁(yè)面中的某些元素阻塞,從而實(shí)現(xiàn)頁(yè)面渲染速度的提升。

此外,MIP JS 還涵蓋了所有iframe的沙盒、于資源加載前提前計(jì)算頁(yè)面元素布局、禁用緩慢css選擇器等技術(shù)性能。

3. MIP Cache

MIP Cache 是通過(guò) CDN(Content Delivery Network) 服務(wù)器緩存mip頁(yè)面的。用戶在訪問(wèn) MIP 頁(yè)面的時(shí)候,請(qǐng)求首先會(huì)發(fā)到 CDN 服務(wù)器,如果頁(yè)面存在,則從 CDN 返回,如果 CDN 上不存在,則會(huì)請(qǐng)求第三方服務(wù)器。同時(shí) MIP Cache 服務(wù)器會(huì)主區(qū)頁(yè)面緩存到 CDN 上。在使用 MIP Cache 時(shí),MIP 頁(yè)面所需要的所有靜態(tài)文件和外部資源都會(huì)被緩存到 CDN 上,并且頁(yè)面中的資源鏈接會(huì)被轉(zhuǎn)換成相對(duì)地址,很大程度上提升了頁(yè)面渲染速度。每一個(gè) MIP 頁(yè)面都會(huì)綁定一個(gè)驗(yàn)證系統(tǒng),在頁(yè)面進(jìn)行渲染時(shí),這種驗(yàn)證器可以直接在瀏覽器控制臺(tái)中輸出頁(yè)面的錯(cuò)誤;并且隨著代碼邏輯的變化,能夠展示其對(duì)頁(yè)面性能以及用戶體驗(yàn)的影響。

閱讀 MIP Cache 規(guī)范 了解更多信息。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)