周大老闆很高興,“國內像朋友網這樣的大站還有不少,比如QQ空間,那面板設計的花裡胡哨,載入進去得10秒鐘。還有淘寶,那麼多商品圖片,想開啟網頁也非常緩慢。咱們要幫幫同行啊!”
張一明潑了冷水,“這事沒那麼容易,涉及到很多方面。”
“怎麼回事?”
“這事技術委員會討論過,可以讓搜尋業務、瀏覽器業務跟朋友網同步進行,三個專案同時啟動,彼此聯動。可專案資金有點大,被否了。”
然後,張一明就簡單的解釋了這其中的原理。
網頁的載入過程,背後的邏輯並不簡單。
使用者需要透過瀏覽器,跟網站進行“握手”互動,獲得網站許可了,就進入網站伺服器,提取其網站資料。
然後把資料渲染出來,就變成呈現在使用者螢幕前的網頁了。
提取的資料,如果是線性的,那麼網線的呈現方式就是一個模組接著一個模組的傳統方式。如果並行的提取,是分散式的,網站的載入就可以像瀑布那樣的從上到下,很迅速。
可這技術別人都沒有。
而且,這也只是網頁載入提速的一部分。
這個過程中,瀏覽器需要跟網站履行一系列的網路協議,三次握手、四次握手,協議達成了之後,才能開始提取資料。
過程太繁瑣。
如果能簡化這個流程,網頁載入速度就能提高。
還有,瀏覽器和網站伺服器是順序、線性執行的關係,伺服器必須等待瀏覽器的請求,這樣就會造成伺服器的空閒。瀏覽器工作時,伺服器在等待,而伺服器工作時,瀏覽器在等待,這也是一種時間上的浪費。
假如雙方能同時工作、並行工作,就可以提高速度。
並行就是分散式。
第三點,使用者在使用網站的過程中,就是瀏覽器和網站伺服器互動的過程,這個期間需要不停的傳送訊號,瀏覽器申請、伺服器允許,申請、允許,申請、允許……不停的握手,不停的互動。
如果把後續的這些過程儘可能的省略,減少伺服器傳送請求,就可以大大的節省網站伺服器的負載,帶來效能上的提升……
周不器聽得雲山霧罩,可大體上是聽懂了。
就是網頁的讀取過程太複雜,背後涉及到太多的網路協議。要想改變這種情況,除了改善網站自身的資訊供給方式外,就要修改舊的網路協議,或者想辦法透過技術手段繞開。
張一明道:“目前是web2.0時代,核心技術是AJAX,有一定的技術門檻。現在的主流網站,一般都使用這個技術。盜版網站之所以載入速度慢,除了伺服器差之外,很大原因是沒有這個AJAX。”
“哦。”
周不器呆呆地。
張一明又道:“可是隨著時代的發展,AJAX技術也有些跟不上時代。有資料統計過,開啟一個網頁,平均要耗時4.5秒鐘,這太難以接受了。必須出現新的技術手段替代傳統方案,分散式就是機會。”
周不器對技術很感興趣,可是又聽不太懂,很有一種清晨看黃山的感覺,霧茫茫的一片美好,宛若仙境。
這大概就是外行的好處。