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

作者 | Brilliant Open Web 團隊breezet、shdong
編輯 | 尾尾

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

一、內容回顧

在上一期的月報中,我們梳理了移動Web加速技術的方向,并介紹了頁面云加速相關的技術——頁面云加速的主要核心其實就是使用云端緩存或代理的方案,讓用戶能通過更快的網絡獲取加載頁面。主要的核心技術點有兩部分:基于CDN的頁面Cache或代理、基于端(Web容器或移動瀏覽器)與云端交互的協議機制。

本期,我們將聚焦到Web頁面的預取和預渲染相關的技術上。

二、相關技術介紹:Web頁面的預取和預渲染

頁面快速加載是提升移動Web體驗的一個非常重要因素。頁面本身的渲染性能是很重要,但頁面還有一些關于瀏覽器渲染性能以外的性能體驗瓶頸。

當網站已經按照一些標準(類似AMP/MIP,或者簡單的靜態化基礎HTML頁面)進行構建之后,頁面的渲染性能會被極大改善,如果希望頁面能達到瞬時展現的體驗,還依賴類似搜索結果頁本身的內容分發平臺提供更強大的預取和預渲染能力。

1. 瀏覽器預渲染/預取 API 的一些問題

移動瀏覽器下,點擊搜索結果頁所展示的某一結果,頁面被渲染前有如下環節需要執行: 域名解析、建立連接、發起請求、處理請求、網絡傳輸、頁面渲染、資源加載。

對于移動互聯網用戶來說,這些環節太多,會耗費很多的時間,經過百度的實際測試,百度搜索結果中的站點平均首屏時間在3.5s左右。

類似AMP和MIP這類標準已經提供了CDN的緩存和渲染過程的優化,但是對于加載策略,預渲染控制,容器都還沒有標準或者基于trick的實現,并沒有辦法達到瞬時打開的體驗。

主要問題體現如下:

(1)預渲染策略

加載策略一方面考慮的是什么時候加載頁面和資源,加載多少,從哪里加載以及加載的優先級。這一塊更多的是業務應用上的考慮,不需要提供標準或瀏覽器的API。

另一方面考慮的是哪些頁面適合被prefetch/prerender,以及prefetch/prerender對服務的HTTP請求的統計影響。而這一方面是需要有通用的標準(頁面是否適合被prefetch/prerender)的,關于統計上的影響,也需要從瀏覽器發出的HTTP請求上考慮設計新的Policy(Policy Header)供服務端識別。

(2)對預取/預渲染的過程控制

link prefetch/prerender另一方面的問題是缺乏反饋機制,以及對過程的控制。百度對頁面是否進行了prefetch/prerender會有一些產品策略上的需求(提供瞬時展現交互體驗)和過程跟蹤上的需求(幫助決策用戶是否當前環境是否適合prefetch/prerender)。

上述兩個問題都是目前link prefetch/prerender暫未提供的能力。

2. 技術展望

目前在百度搜索中,部分頁面的預取/預渲染能力是通過JS資源請求 API的方式來滿足的,從效果實現來看,能解決上述描述的大部分問題。

但類似更順滑、更有效的預取/預渲染效果,我們希望能讓更多的人享受到。所以從長期來看,推進預取/預渲染在瀏覽器標準實現上的能力增強,是一種更合理的方式。

三、主要技術進展

本月報將收錄移動Web加速技術的主要進展,歡迎讀者一起完善,投稿郵箱:openweb@baidu.com。

1. MIP本月進展

MIP的官方網站是:www.mipengine.org/ ,GitHub地址是:github.com/mipengine

MIP新增功能

(1)MIP bind雙向綁定機制和組件上線,提供雙向綁定的特性;能夠允許頁面實現數據驅動功能,開發者可以在任意場景修改數據,并驅動頁面元素變動。

(2)支持頭部async加載JavaScript腳本,腳本可以和頁面DOM加載同步進行,減少了腳本加載時間的等待,加快了整個頁面的渲染和展現速度。

(3)組件升級:mip-stats-baidu統計組件修復事件追蹤、點出率等BUG;mip-form升級,去掉mip-form中的password和file限制。

MIP校驗升級

(1)mip-vd-baidu組件校驗升級,解決校驗不一致的問題。

(2)script標簽加載腳本校驗,在head加載的JavaScript必須增加async屬性。

2. AMP本月進展

AMP(Accelerated Mobile Pages)是谷歌提供的網頁加速技術,其官方網站是:developers.google.com/amp/。

(1)amp-position-observer動畫組件,使用這個組件來創建一系列的動畫功能,如視差效果,微妙的縮放。

(2)amp-sidebar支持響應式設計。

(3)amp-analytics組件支持mip-video組件的數據統計。

(4)流式廣告支持,能夠在不知道廣告尺寸的情況下加載廣告。

(5)amp bind和amp list組件升級,以增強對新數據的支持。

(6)ampstart模板庫上線,通過ampstart可以使用現成的AMP使用和分享AMP模板,模板,快速創建AMP頁面,而不需要從頭構建頁面元素。

(7)AMP 項目啟動兩周年公布相關數據:AMP頁面已達40億個,AMP站點已達2500W個。

四、總結

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

Brilliant Open Web

BOW(Brilliant Open Web)團隊,是一個專門的Web技術建設小組,致力于推動 Open Web 技術的發展,讓Web重新成為開發者的首選。

BOW 關注前端,關注Web;剖析技術、分享實踐;談談學習,也聊聊管理。

關注 OpenWeb開發者,回復“加群”,讓我們一起推動 OpenWeb技術的發展!

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

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

相關文章

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

PWA將帶來新一輪大前端技術洗牌?

作者 | 彭星 編輯 | 尾尾 一、回顧歷史:移動時代之初,Web遭遇兩大枷鎖 Web 在移動時代遭遇兩大枷鎖1.Web 在移動時代遭遇兩大枷鎖 當 Web 自信滿滿,步入移動時代之時,它還沒有做好充足的準備。 回顧 2014 到 2015 年那段時間…

Redis(十四):Jedis

Jedis是Redis官方推薦的Java連接開發工具。要在Java開發中使用好Redis中間件&#xff0c;必須對Jedis熟悉才能寫成漂亮的代碼&#xff01; 1、新建Maven工程&#xff0c;導入對應依賴 <dependencies><dependency><groupId>redis.clients</groupId>&l…

高級精致智能快捷的Web設計原則案例

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容&#xff0c;同時會提供相應的實際案例及資源下載。關注OpenWeb開發者&#xff0c;回復“設計指南”&#xff0c;即可獲取已發布資源。 設計原則之高級精致 簡潔并不等于粗糙沒有細節&#x…

Linux系列(一):簡介與目錄結構

1、Linux簡介 1.1、起源 Linux出現于1991年&#xff0c;是由芬蘭赫爾辛基大學學生Linus Torvalds和后來加入的眾多愛好者共同開發完成 1.2、Linux特點 多用戶&#xff0c;多任務&#xff0c;豐富的網絡功能&#xff0c;可靠的系統安全&#xff0c;良好的可移植性&#xff0c;…

日常問題——解決mac下 ssh: connect to host localhost port 22: Connection refused

問題描述&#xff1a; 今天使用ssh 登陸本地時即使用ssh localhost出現了 ssh: connect to host localhost port 22: Connection refused 錯誤&#xff01; 然后在網上看了很多的解決方案&#xff0c;也都是千篇一律&#xff0c;大多數是針對ssh安沒安裝的&#xff1f;那肯定是…

大型網站的HTTPS實踐:基于協議和配置的優化

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

初識Hadoop:大數據與Hadoop概述

1、大數據概述 大數據&#xff08;big data&#xff09;&#xff0c;IT行業術語&#xff0c;是指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合&#xff0c;是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信…

W3C近期要聞:W3C戰略重點報告新版發布

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

Hadoop的安裝及配置

PS:最新安裝教程請參考Hadoop的安裝與配置&#xff08;設置單節點群集&#xff09;詳細教程 1、Hadoop安裝前準備工作&#xff1a; 在開始Hadoop安裝與配置之前&#xff0c;需要準備的環境&#xff1a;Linux系統、配置JDK環境變量。 2、安裝 我們可以到Apache Hadoop的官網ht…

在 PWA 中使用 App Shell 模型提升性能和用戶感知體驗

作者&#xff5c;潘宇琪 編輯&#xff5c;Daisy 在構建 PWA 應用時&#xff0c;使用 App Shell 模型能夠在視覺和首屏加載速度方面帶來用戶體驗的提升。另外&#xff0c;在配合 Service Worker 離線緩存之后&#xff0c;用戶在后續訪問中將得到快速可靠的瀏覽體驗。 在實踐過…

【轉】超酷的 mip-infinitescroll 無限滾動(無限下拉)

寫在前面 無限滾動技術&#xff08;又叫做無限下拉技術&#xff09;被廣泛應用于新聞類&#xff0c;圖片預覽類網站。對用戶來講&#xff0c;使用無限滾動的頁面有源源不斷的信息可以預覽&#xff0c;增加用戶在頁面的停留時長。技術上原理也很簡單&#xff0c;在頁面加載時加…

日常問題——Mac下新建目錄報Read-only file system

問題描述&#xff1a; 今天在根目錄下&#xff0c;新建目錄時出現了Read-only file system提示為只讀的錯誤。電腦最近并沒有非正常關機之類可能導致文件損傷的操作&#xff0c;但是最近倒是進行了一次系統更新。 解決方案&#xff08;過程&#xff09;&#xff1a; 從系統更…

MongoDB(二):MongoDB的安裝

這里以OSX系統為例&#xff0c;window和linux可以參考https://www.runoob.com/mongodb/mongodb-linux-install.html 1、我們使用 curl 命令來下載安裝&#xff1a; # 進入 /usr/local cd /usr/local# 下載 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_…

百度推出 MIP Baidu Path鏈接

在站長將站點 MIP 化時&#xff0c;需要關注 URL 的一共有三個&#xff1a;MIP URL, MIP-Cache URL 以及 MIP Baidu Path。 從 URL 說起 在互聯網中&#xff0c;URL 定義頁面的地址&#xff0c;每個 URL 對應一個頁面。而 MIP URL 則是 MIP 頁的原始地址&#xff0c;指向托管…

Postman接口測試(超詳細整理)

常用的接口測試工具主要有以下幾種 Postman&#xff1a;簡單方便的接口調試工具&#xff0c;便于分享和協作。具有接口調試&#xff0c;接口集管理&#xff0c;環境配置&#xff0c;參數化&#xff0c;斷言&#xff0c;批量執行&#xff0c;錄制接口&#xff0c;Mock Server, …