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

作者 | Brilliant Open Web團隊breezet、JennyL

編輯 | 尾尾

為推進Web技術的發展,Brilliant Open Web 團隊特推出每月一期的《移動Web加速技術月報》,該月報將整理較流行的移動Web加速技術,并跟進各項技術的進展和發展方向,以期幫助開發者了解或選用相關的技術,把握技術發展趨勢。歡迎關注【OpenWeb開發者】公眾號并回復“加群”,一起探討相關技術。

一、前言

移動設備已經成為當下使用頻率最高的電子設備,而移動Web依然是移動設備中使用頻率最高的應用場景。

站點頁面性能提升可以使得用戶瀏覽站點時的體驗得到良好改善,作為其中一條技術分支,移動Web加速技術的方法和技術方案在近幾年得到了不斷發展。無論是內容分發平臺、瀏覽器提供商、網絡提供商還是Web站點,都在通過各種各樣的移動Web加速技術為用戶提供更良好的頁面瀏覽體驗。

二、移動Web加速技術有哪些方向?

開始的前言內容中我們已經提到,參與移動Web生態的幾個重要角色分別是內容分發平臺、瀏覽器提供商和網絡提供商以及Web站點。每個角色都在自己所擅長的領域通過技術創新來給用戶提供更快速的移動Web體驗。因此,移動Web加速的幾個技術方向也和幾個重要參與者的角色職能密不可分。

比較重要的技術方向分別是:

1. 頁面加載與緩存

移動Web加速的其中一個重要技術方向是針對頁面加載和緩存相關的加速技術。

在此方向中,頁面分發端、瀏覽器和移動網絡是主要的影響因素,頁面加載相關的技術解決方案,也是從這三個影響因素為出發點,來進行技術設計和實現的。

頁面加載加速主要聚焦在頁面云加速(CDN Cache)以及移動端加速、頁面預取/預渲染等相關技術點。

2. 頁面構建

移動Web加速的另一個核心技術方向是通過明確頁面的正確構建方法,來提升頁面在渲染和瀏覽時的用戶體驗。

移動頁面的渲染對用戶體驗的影響是非常巨大的,直接關系到用戶在打開頁面時能否很快的看到首先想要瀏覽的內容(首屏渲染)。

影響首屏渲染的因素非常多,通過正確的頁面構建方法,可以進一步提升站點頁面的首屏渲染性能并且不傷害用戶的瀏覽體驗。

三、相關技術介紹

在每期的網頁加速技術月報中,我們都會為大家介紹相關的加速技術知識點。本期先為大家介紹頁面云加速相關的技術知識。

頁面云加速的主要核心其實就是使用云端緩存或代理的方案,讓用戶能通過更快的網絡獲取加載頁面。主要的核心技術點有兩部分:基于CDN的頁面Cache或代理、基于端(Web容器或移動瀏覽器)與云端交互的協議機制。

1.基于CDN的頁面Cache或代理

此技術其實在近幾年已經非常成熟,無論是各種云服務解決方案還是CDN服務提供商都已經有非常成熟的技術能力。此項技術的思路是從Web服務提供者角度來提供更好的網絡環境來進行移動Web加速。在此就不做更多的介紹。

2.基于端與云端交互的協議機制

最近兩年開始興起的新的云端加速技術方案,該技術在云端的Cache機制(主要是CDN)的基礎上,使用端來代理用戶頁面加載行為,調用云端的Cache頁面返回給端使用。此項技術的思路與前者不同的是它想解決用戶在該端上(Web容器或移動瀏覽器)的所有移動Web站點的訪問加速,而不是某一個站點或已經提供了CDN訪問的站點。主要作用是可以提升用戶在該端上的Web瀏覽體驗,讓用戶體驗優于其他競品。

主要技術 有:Google AMP Cache、Baidu MIP Cache、UC瀏覽器云加速、QQ瀏覽器云加速等。

四、主要技術進展

1.AMP本月進展

AMP(Accelerated Mobile Pages)是谷歌提供的網頁加速技術,其官方網站是:https://developers.google.com/amp/。AMP在本月不僅進行了技術方面的優化,還計劃在全球范圍內進行推廣,具體如下。

(1) AdWords 支持AMP化廣告落地頁:AdWords是廣告提供商,使用AMP落地頁能夠快速加載,提高廣告轉化率。AMP的表單,內容實時更新和統計支持,使AMP適用于廣告落地頁。

(2)CONDé NAST是如何使用AMP的:
CONDé NAST擁有多個新聞業務,選擇AMP不是因為原來頁面慢,而是相信Google的服務和CDN; NAST公司將AMP和CMS結合使用,自動將新聞生成為AMP頁面。

(3) AMP技術團隊將要進行全球巡回推廣:包括新加坡、悉尼、倫敦、北京、上海等地,感興趣的讀者可以關注。

2.MIP本月進展

MIP的官方網站是:https://www.mipengine.org/,GitHub地址是:https://github.com/mipengine/。MIP在本月也更新了諸多新功能,進行了一系列升級,具體如下。

MIP新增功能

(1)增加儲存功能,使用localStorage和fetch實現。儲存功能可用于代替cookie保存用戶設置,登錄狀態,攜帶信息,與服務器進行數據通信。

(2)MIP-Cache鏈接全量上線二級域名,詳細說明及影響見《MIP-Cache域名升級》。

MIP升級功能

(1) mip-video 視頻組件升級。支持source多視頻源播放。

(2)mip-showmore 折疊組件交互升級。支持展開后不再顯示收起按鈕(https://www.mipengine.org/examples/mip-extensions/mip-showmore.html)。

(3)mip.js 升級。修復a鏈接在mip-iframe中不能跳出的問題。

校驗規則更新

在9月初,MIP更新了少量校驗規則,對90%以上的MIP頁無影響,保證MIP校驗的嚴謹性。更新后的規則為:

(1) 對 head 中 base 標簽增加了限制,避免cache改寫后鏈接指向有問題。

(2)強制要求頁面引用https 的 mip.js,避免腳本被不法劫持。

(3)認定src=” “(引號之間只有空格)情況等同于src=”“,視內容為空。

(4)升級template src校驗,支持文檔中src={{url}}的寫法。

進行中

mip-bind 組件支持數據雙向綁定。頁面異步更新,可用于電商等復交互頁面。

MIP-Cache 支持返回webp圖片。使用壓縮率更高的圖片,減少圖片大小。

四、總結

移動Web加速的下一個方向應該是探索頁面加速上的標準策略分級,并影響內容分發平臺、搜索引擎等流量入口使用標準的頁面性能分級來進行更廣泛層面的引導,提升真實用戶接觸到的互聯網站點的頁面體驗。

最后,歡迎各位讀者補充各項移動Web加速技術及其最新進展,可以發送郵件到 openweb@baidu.com,也可以關注【OpenWeb開發者】公眾號并回復“加群”,一起來探討相關技術,與我們攜手推進Web技術的發展!

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

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

相關文章

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

Redis 字符串數據類型的相關命令用于管理 redis 字符串值,基本語法如下: 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設計指南》分為設計原則、基礎規范兩方面主要內容,同時會提供相應的實際案例及資源下載。歡迎關注OpenWeb開發者,訂閱《Web設計指南》。 前言 《Web設計指南》是專門為廣大Web內容生態提供一套簡單實用的設計指南&a…

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

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

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

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

Redis(六):Set集合數據類型詳解

Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重復的數據。 Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是 O(1)。 集合中最大的成員數為 232 - 1 (4294967295, 每個集…

百度主任架構師譚待:如何讓不帶團隊的程序員負責重大項目?

演講 | 譚待 整理 | 趙新龍、尾尾 譚待,百度主任架構師、百度搜索公司技術委員會聯席主席。主要研究領域在分布式系統和搜索引擎,是百度BVC代理計算和Matrix私有云的主要設計者,兩獲百度最高獎。主持設計了百度新一代搜索架構,在…

Redis(七):Hash哈希數據類型詳解

Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。 Redis 中每個 hash 可以存儲 232 - 1 鍵值對(40多億)。 實例: 127.0.0.1:6379> HMSET runoobkey name "redis tutorial"…

Chrome Dev Summit 2017參會筆記

作者 | 高磊 編輯 | 尾尾 為期兩天的 Chrome Dev Summit 2017 于 10月23日~24日在美國舊金山舉辦。由于我們近期和Google的合作較多,對Google的動作也比較關注,所以受邀參加了這次的Chrome Dev Summit (CDS)。本文是我在現場做的…

Redis(八):Zset有序集合數據類型詳解

Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。 不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。 有序集合的成員是唯一的,但分數(score)卻可以重復。 集合是通過哈希表實現的,…

Redis(九):Redis特殊類型之geospatial

朋友的定位,附近的人,位置共享,打車距離 redis在3.2就已經推出了geospatial!兩地之間的距離,方圓幾里的人!都可以用它實現 這個需要把你所在地的經緯度輸進去,我們可以在http://www.jsons.cn/ln…

九個案例簡述Web設計原則:簡潔清晰

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

Redis(十):Redis特殊類型之Hyperloglog基數統計

redis 2.8.9版本就更新了Hyperloglog數據結構! Hyperloglog:基數統計算法!0.81%的錯誤率,不過統計大量數據可以忽略! 在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 …

W3C近期要聞:與Mozilla MDN合作聯合開發Web平臺文檔

作者 | W3C中國 「OpenWeb開發者」依托于BOW(Brillant Open Web)團隊,是一個專門的 Web 技術建設小組,致力于推動 Open Web 技術的發展,將不定期為讀者同步W3C要聞。 注:由于微信不支持外鏈,了解…

Redis(十一):Redis特殊類型之Bitmap位圖

1、位存儲 只有0和1兩種狀態! Bitmap 位圖:數據結構,都是操作二進制位來進行記錄 登錄/未登錄 活躍/不活躍 打卡 兩個狀態的都可以使用Bitmap! 2、常用命令 2.1、用Bitmap來記錄 周一到周日的登陸情況 127.0.0.1:6379> …

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

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

Redis(十二):Redis事務的基本操作

1、Redis事務概念 Redis 事務的本質是一組命令的集合。事務支持一次執行多個命令,一個事務中所有命令都會被序列化。在事務執行過程,會按照順序串行化執行隊列中的命令,其他客戶端提交的命令請求不會插入到事務執行命令序列中。 總結說&…

大型網站HTTPS 實踐(一)| HTTPS 協議和原理

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。本文就著重介紹了 HTTPS 協議涉及到的重要知識點和平時不太容易理解的盲區,希望能對大家理解 HTTPS 協議有幫助。百度 HTTPS 性能優化涉及到大量內容…

MongoDB(一):簡介

1、MongoDB概述 MongoDB 是由C語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。在高負載的情況下,添加更多的節點,可以保證服務器性能。MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB 是一款流行的開源文檔型…

大型網站HTTPS實踐:HTTPS對性能的影響

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。百度 HTTPS性能優化涉及到大量內容,從前端頁面、后端架構、協議特性、加密算法、流量調度、架構和運維、安全等方面都做了大量工作。本系列的文章將…

Redis(十三):Redis實現樂觀鎖

1、悲觀鎖與樂觀鎖 樂觀鎖和悲觀鎖是一種程序設計思想,而不是具體的代碼。樂觀鎖和悲觀鎖應用的場景有很多,在數據庫和多線程等等都會用到。 悲觀鎖:總是假設最壞的情況,每次去拿數據的時候都認為別人會修改,所以每次…