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