統計方法
總覽
Web Almanac 網路年鑑是由 HTTP Archive 組織的專案。HTTP Archive 在2010年由 Steve Souders 創辦,任務目標為追蹤網路如何建構。它按月評估數以百萬的網頁並將 TB 位元數據置 BigQuery 供大眾分析。
Web Almanac 網路年鑑的任務是將網路狀態成為公開的年度知識庫。我們的目標是透過主題專家的洞察語意讓網路社群無障礙的進入 HTTP Archive 資料庫。
Web Almanac 網路年鑑2020年版共有四個部分:內文、體驗、發佈和傳遞。在這當中,每個章節都透過不同角度探索相關主題,例如第二部分探索使用者經驗在效能、隱私、無障礙網頁等各種角度。
關於資料集
HTTP Archive 資料集每月持續更新數據,除各章節另有說明外,2020年版所有指標都來自2020年8月。這些結果可以透過設置 BigQuery 公共資料集的相關日期探索查詢,例如2020_08_01
。
Web Almanac 網路年鑑列示的指標可以透過執行 BigQuery 公共資料集後重現。你可以瀏覽所有章節使用的查詢在 GitHub 程式庫。
備註,這些查詢需要相當大的資源,這可能比較昂貴,如果你自行查詢, BigQuery 的帳單是以TB計價。這篇文章可以幫助你控管花費,請閱讀 Tim Kadlec 說明,如何不破產的使用 BigQuery。
例如,你可以瞭解 JavaScript 在桌機版與手機版網頁運行的中位數,請查閱01_01b.sql:
#standardSQL
# 01_01b: Distribution of JS bytes by client
SELECT
percentile,
_TABLE_SUFFIX AS client,
APPROX_QUANTILES(ROUND(bytesJs / 1024, 2), 1000)[OFFSET(percentile * 10)] AS js_kbytes
FROM
`httparchive.summary_pages.2019_07_01_*`,
UNNEST([10, 25, 50, 75, 90]) AS percentile
GROUP BY
percentile,
client
ORDER BY
percentile,
client
每個指標的結果可以在各個章節對應的電子表格中公開查詢,例如 JavaScript 結果。滑動到各個章節的底部,你可以看到查詢、結果、和讀者評論的連結按鈕。
網站
資料集共有7,546,709個網站,其中6,347,919個是手機版網站與5,593,642個是桌機版網站。大多數的網站都同時是桌機版和手機版的子集合。
HTTP Archive 從 Chrome UX Report 獲取網站的 URLs。Chrome UX Report 是 Google 的公共資料集,集合 Chrome 活躍使用者訪問數以百萬網站的使用者經驗,這些網站列表反映著最新的真實網站使用狀況。Chrome UX Report 資料集透過一個因子維數,取得所有桌機版與手機版使用者訪問的網站。
Web Almanac 網路年鑑爬取2020年8月 HTTP Archive 的資料集,網站列表則是透過最近期202006的 Chrome UX Report,在2020年7月14日發布,擷取6月分 Chrome 使用者瀏覽的網站。
2020年被分析的網站有20-30%的增長,相較於2019年 Web Almanac 網路年鑑。你可閱讀這篇文章,Paul Calvano 的分析:2020年網路使用的增長。
礙於資源的限制,HTTP Archive 只能測試 Chrome UX report 每個網站的單一網頁,協調平衡這點後我們只包括網站的主頁。這結果將導致些許偏差,因為一個主頁不能絕對地代表一整個網站。
HTTP Archive 也被考慮成一個測試工具,它是透過數據中心測試網站,並不是從真實世界蒐集使用者經驗。所有的測試都基於一個處於登出狀態的空白快取主頁,這可能不能真實反映使用者是如何訪問它們。
指標
HTTP Archive 蒐集數千個指標用來衡量網路是如何被建構。它包括基本的指標,像是網頁使用的位元數,網頁加載是否透過 HTTPS 、個別的請求與標頭反應。這些主要的指標都是由 WebPageTest 提供,它為每個網站提供測試路徑。
其他的測試工具被用來測試更深入網頁的指標,例如,Lighthouse 被用來檢查網頁並針對質量分析,像是無障礙性訪問和 SEO 評估。下面的工具章節會有更多詳細的說明。
為填補實驗資料集的固有限制, Web Almanac 網路年鑑在使用者經驗的指標評估,也確定使用 Chrome UX Report,特別是網頁性能的方面。
某些指標可能是無法完全衡量的,例如,我們可能沒有辦法絕對地偵測建構網站的工具,如果網站使用 create-react-app 建構,我可以說這是使用 Reaat 框架,但無法絕對地說是哪種特定工具被使用,除非這些工具在網站程式碼中留下可被偵測的軌跡,否則我們不能衡量它們絕對地使用情形。
其他的指標是可以被絕對地衡量,但是可能具挑戰性或低可靠性,例如,網路的各種設計可以被視覺化表達,但卻難以量化,像是網頁是否具有崁入情感式的對話框。
工具
Web Almanac 網路年鑑透過下列開源工具的幫助而創刊。
WebPageTest
WebPageTest 是傑出的網路性能測試的工具,且是 HTTP Archive 的骨架。我們在私人測試代理下,使用私有實例透過真實的瀏覽器測試每個網頁。桌機版和手機版網站在不同的配置下進行測試:
配置 | 桌機 | 手機 |
---|---|---|
設備 | Linux VM | 模擬Moto G4 |
使用者代理 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 PTST/200805.230825 | Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4) Build/MPJ24.139-64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Mobile Safari/537.36 PTST/200815.130813 |
位置 |
Redwood City, California, USA The Dalles, Oregon, USA |
Redwood City, California, USA The Dalles, Oregon, USA |
連接 | Cable (5/1 Mbps 28ms RTT) | 3G (1.600/0.768 Mbps 300ms RTT) |
Viewport | 1024 x 768px | 512 x 360px |
桌機版網站是在 Linux 虛擬機的 Chrome 環境中運行,網路速度相當於有線連接。
手機版網站在模擬的 Moto G4 設備上運行,網路速度相當於 3G 連結。備註,模擬的手機版的使用者代理標示為 Chrome 65,但實際的瀏覽器是 Chrome 84。
測試運行的位置有二個站點: California 和 Oregon USA。HTTP Archive 維護它自己的測試代理硬體,位置在 California 的 Internet Archive 數據中心。另外一個測試代理是依據需要擴增,在 Google Cloud Platform 位於 Oregon 的 us-west-1。
HTTP Archive 在 WebPageTest 的私有實例保持與最新的公共版本同步,且增加使用自訂指標。在測試的尾聲透過片段的 JavaScript 評估每個網站。感謝許多數據分析的貢獻者,特別是熱血拋顱的 Tony McCreath。 Web Almanac 網路年鑑2020年版致力拓展 HTTP Archive 的基礎測試架構功能,揮灑超過三千行的新程式碼。
每個測試的結果都保存為 HAR 檔案,這是 JSON 格式儲存的檔案,包括網頁的位元數據。
Lighthouse
Lighthouse 是針對網站品質評估的自動化工具,由 Google 創建。它檢查網頁是否阻礙使用者訪問資源的路徑,像是網頁是否有未優化的圖像和不可進入的內文。
HTTP Archive 在所有手機版的網頁上運行最新的版本—但桌機版的網頁不被包括在內,因為資源的限制。在2020年8月的爬取, HTTP Archive 使用6.2.0版本的 Lighthouse。
Lighthouse 在 WebPageTest 運行自己獨特的測試,但它擁有自己的配置概要:
配置 | 數值 |
---|---|
CPU 降速 | 1x/4x |
下載速率 | 1.6 Mbps |
上傳速率 | 0.768 Mbps |
RTT 往返時間 | 150 ms |
你可以瞭解更多關於 Lighthouse 和在 HTTP Archive 的檢測評估,請參考 Lighthouse 開發者的文件。
Wappalyzer
Wappalyzer是偵測網頁所使用的技術工具。它有64個類別可以被用來偵測各種技術種類。從 JavaScript 框架到 CMS 平台,甚至是加密貨幣挖礦,被支持的科技超過一千四百多種。
HTTP Archive 在所有網頁運行最新版的 Wappalyzer。在2020年8月 Web Almanac 網路年鑑使用6.2.0版本的 Wappalyzer。
Wappalyzer 帶給許多章節動力,它分析開發者工具的受歡迎程度,像是 WordPress、 Bootstrap、和 jQuery,例如,電商和 CMS 章節,它們非常仰賴 Wappalyzer 在偵測電商和 CMS 技術的類別。
所有的偵測工具,包括 Wappalyzer 都不可避免有其侷限。它們結果的有效性總是攸關於其偵測機制的準確度。Web Almanac 網路年鑑會在使用 Wappalyzer 的各個章節註釋,但基於特定的原因,分析可能沒有絕對地精準。
Chrome UX Report
Chrome UX Report 是真實 Chrome 使用者經驗的公共數據集,根據網站的來源進行分類,例如 https://www.example.com
。資料集包括使用者經驗指標的分佈情形,像是繪製、下載、交互和布局穩定性。除了按月分組外,還會按維度劃分,像是國家地理位置、形式類型(桌機、手機、平板電腦)和有效連結類型(4G、3G等)。
Web Almanac 網路年鑑指標參考 Chrome UX Report 中真實使用者經驗的數據,使用2020年8月資料集。
你可以學習更多關於資料集的細節,在 BigQuery 使用 Chrome UX Report 的 web.dev 寶典。
Third Party Web
Third Party Web 是一個研究專案,由 Patrick Hulce 創建,2019年 Third Parties 章節的作者,使用 HTTP Archive 和 Lighthouse 數據辨識和分析第三方資源對網路的影響。
如果網域名稱出現至少50個獨特的頁面,則會被考慮是由第三方提供者。這個專案還將供應商按服務類型區分,像是廣告、分析和社交的類型。
Web Almanac 網路年鑑的部分章節使用這個資料集的網域名稱和類型來瞭解第三方的影響力。
Rework CSS
Rework CSS 是基於 JavaScript 的 CSS 解析器。它使用整個樣式表生成 JSON 解碼的物件,用來區別各個樣式規則、選擇器、程式碼和數值。
這個特殊用途的工具顯著提高許多指標的準確性,在 CSS 章節,這讓分析工作順暢進行,透過解析和查詢 CSS 在每個頁面的外部樣式表和行內樣式區塊。相關細節請閱讀這篇,說明 HTTP Archive 如何透過 BigQuery 整合資料集的更多資訊。
Rework Utils
今年 CSS 章節更詳細研究 CSS 的狀態,由 Lea Verou 主導,透過100+個查詢運行。這個觀點的查詢數量是2019年的2.5倍。為了讓這個規模的分析可行,Lea 開源 Rework Utils。CSS 大部分的章節都來自這些程式碼腳本,這帶領 JSON 資料從 Rework 更進階,讓 CSS 更容易被分析洞察。
Parsel
Parsel 是 CSS 解析的選擇器和特定的計算器,由 CSS 章節的主導者 Lea Verou 撰寫,並開源為獨立的資料庫,且廣泛應用於所有 CSS 相關的指標。
分析程序
Web Almanac 網路年鑑攜手超過一百位網路社群的貢獻者,共同籌備壹年的時間在策劃和執行。這個章節描述為何 Web Almanac 選擇這些章節,這些指標如何查詢,且如何詮釋它們。
規劃
2020年 Web Almanac 網路年鑑在2020年6月啟動,因為 COVID-19 和抗議集會的動盪,讓它晚於2019年預定的時程表。2020年的這些動盪事件衝擊整個流程,且也重壓著貢獻者,讓我們緊咬著超載的扁擔快節拍地前進。
正如我們在去年統計方法的陳述:
Web Almanac 網路年鑑訂定一個明確目標計畫,期望鼓勵並包容更多異質聲浪和少數代表者擔任作者和同伴審稿者的腳色。
為此,今年我們在評選作者的方式有著系統性的改變:
- 致力傾聽不同聲浪,我們並不特別地鼓勵前作者再度撰寫原章節。
- 所有2020年作者的擁護者都被特別要求,避免提名那些看法和想法同質的人選。
- 2019年的作者大部分都是Google的員工,今年我們試著從廣泛的網路社群中獲得平衡的觀點。 Web Almanac 網路年鑑中的聲音是反映著社群本身的音浪,並不會偏頗任何特定對象。
- 專案主導者負責審查所有作者的提名,並致力挑選能夠帶來新觀點和擴大社群中微量聲音的作者。
我們期望能夠在未來重複這些流程,並確保 Web Almanac 網路年鑑是具多樣化且包容性的專案,且貢獻者來自各種不同的背景。
最後,在2020年7月,經過數次的腦力激盪與提名後,22個章節拍板定案。我們為每個章節召集內容團隊,包括作者、審閱者和分析者。
分析
2020年7月和8月,在指標和章節的列表拍板後,數據分析師對指標的可行性進行篩選。在某些情況,自訂指標已經產生,且用來填補分析的能力。
2020年8月,HTTP Archive 的資料管道爬取數百萬個網站,蒐集 Web Almanac 網路年鑑需要使用的數據。
資料分析師開始撰寫查詢並執行每個指標的結果。整體來說,這數百個查詢都是由人工親手撰寫累積!你可以在我們 GitHub 開源的資料庫 query repository 目錄下瀏覽所有的程式碼。
說明
作者與分析者共同解釋正確地結果並得出適當的結論,並透過統計數據繪染支持網路狀態的架構來撰稿。審稿者與作者並肩合作,確保分析在技術的正確性。
網路開發者和分析者聯手將資料視覺化地崁入章節,目的是讓讀者能更容易理解結果,並簡化某些視覺化的表達,讓結果更單純清晰,例如,僅顯示重點式的百分比,進而取代整個完整的散佈圖。除另有說明,所有分佈都是用百分位數彙總,特別是中位數(第50個百分位數),並非平均值。
最後,編輯者會微調文法錯誤並確保閱讀體驗的一致性。
展望未來
2020年 Web Almanac 網路年鑑是第二版本,我們希望繼續成為網路社群的年度傳統,並承諾檢討改善。感謝眾多位貢獻者熱血拋顱的挹注養分,期望這讓更多的工作能發揮加乘效果,讓未來版本更簡化。
如果你對貢獻 Web Almanac 網路年鑑2021年版有興趣,歡迎填寫意願表格。讓我們一起並肩攜手,追蹤網路的點點滴滴吧!