摘要:麻省理工學(xué)院計算機科學(xué)與人工智能實驗室(CSAIL)和哈佛大學(xué)的研究人員已經(jīng)開發(fā)出了減少網(wǎng)頁加載時間的系統(tǒng)。這種被被稱為“北極星”的系統(tǒng),其框架可以確定網(wǎng)頁頁面對象如何重疊下載,使得整個頁面需要較少時間來加載。
相關(guān)研發(fā)人員表示,目前一般瀏覽器可能需要長達100毫秒時間來僅僅獲取網(wǎng)頁當(dāng)中的一個數(shù)據(jù),隨著網(wǎng)頁復(fù)雜性增加,瀏覽器往往需要在客戶機和服務(wù)器之間多次往返來獲取數(shù)據(jù),增加了網(wǎng)頁加載延遲。他們的做法最大限度地減少往返次次數(shù),可以大大加快頁面加載速度,加載速度最快可提升34%。
相關(guān)研發(fā)人員表示,用戶在鍵入URL的時候,瀏覽器實際上并不知道頁面的樣子。要加載頁面,瀏覽器需要在網(wǎng)絡(luò)上獲取“對象”,如HTML文件,JavaScript代碼和圖像。一旦一個對象被取出,瀏覽器還需要評估對象,計算對象在頁面位置,將對象添加到用戶看到的頁面。但它不是那么簡單。評估一個對象往往意味著需要獲取和評估更多的對象,它們被描述為原件的“依賴性”。作為一個例子,瀏覽器為了執(zhí)行JavaScript代碼,可能需要獲取更多的圖像。
問題是,瀏覽器不能實際看到所有這些依賴關(guān)系,其結(jié)果是,瀏覽器必須保守地按照順序裝載對象,這往往會增加來回獲取數(shù)據(jù)的次數(shù),減緩頁面加載。
北極星系統(tǒng)可以自動跟蹤所有對象之間的相互作用,為它們編號。例如,它指出一個對象在另一個對象中讀取數(shù)據(jù),或在另一個對象當(dāng)中更新的數(shù)值,然后,它使用了這些相互作用的詳細日志創(chuàng)建一個“依賴關(guān)系圖”,可以讓瀏覽器計劃盡可能最快的數(shù)據(jù)抓取路線,讓瀏覽器更快速地加載網(wǎng)頁。