夜
小
中
大
周大老闆很高興,「國內像朋友網這樣的大站還有不少,比如qq空間,那皮膚設計的花里胡哨,加載進去得10秒鐘。茶壺小說網 www.chahu123.com還有淘寶,那麼多商品圖片,想打開網頁也非常緩慢。咱們要幫幫同行啊!」
張一明潑了冷水,「這事沒那麼容易,涉及到很多方面。」
「怎麼回事?」
「這事技術委員會討論過,可以讓搜索業務、瀏覽器業務跟朋友網同步進行,三個項目同時啟動,彼此聯動。可項目資金有點大,被否了。」
然後,張一明就簡單的解釋了這其中的原理。
網頁的加載過程,背後的邏輯並不簡單。
用戶需要通過瀏覽器,跟網站進行「握手」互動,獲得網站許可了,就進入網站服務器,提取其網站數據。
然後把數據渲染出來,就變成呈現在用戶屏幕前的網頁了。
提取的數據,如果是線性的,那麼網線的呈現方式就是一個模塊接着一個模塊的傳統方式。如果並行的提取,是分佈式的,網站的加載就可以像瀑布那樣的從上到下,很迅速。
可這技術別人都沒有。
而且,這也只是網頁加載提速的一部分。
這個過程中,瀏覽器需要跟網站履行一系列的網絡協議,三次握手、四次握手,協議達成了之後,才能開始提取數據。
過程太繁瑣。
如果能簡化這個流程,網頁加載速度就能提高。
還有,瀏覽器和網站服務器是順序、線性執行的關係,服務器必須等待瀏覽器的請求,這樣就會造成服務器的空閒。瀏覽器工作時,服務器在等待,而服務器工作時,瀏覽器在等待,這也是一種時間上的浪費。
假如雙方能同時工作、並行工作,就可以提高速度。
並行就是分佈式。
第三點,用戶在使用網站的過程中,就是瀏覽器和網站服務器交互的過程,這個期間需要不停的發送信號,瀏覽器申請、服務器允許,申請、允許,申請、允許……不停的握手,不停的交互。
如果把後續的這些過程儘可能的省略,減少服務器發送請求,就可以大大的節省網站服務器的負載,帶來性能上的提升……
周不器聽得雲山霧罩,可大體上是聽懂了。
就是網頁的讀取過程太複雜,背後涉及到太多的網絡協議。要想改變這種情況,除了改善網站自身的信息供給方式外,就要修改舊的網絡協議,或者想辦法通過技術手段繞開。
張一明道:「目前是eb20時代,核心技術是j,有一定的技術門檻。現在的主流網站,一般都使用這個技術。盜版網站之所以加載速度慢,除了服務器差之外,很大原因是沒有這個j。」
「哦。」
周不器呆呆地。
張一明又道:「可是隨着時代的發展,j技術也有些跟不上時代。有數據統計過,打開一個網頁,平均要耗時45秒鐘,這太難以接受了。必須出現新的技術手段替代傳統方案,分佈式就是機會。」
周不器對技術很感興趣,可是又聽不太懂,很有一種清晨看黃山的感覺,霧茫茫的一片美好,宛若仙境。
這大概就是外行的好處。
因為離着遠,所以覺得特別美好,就心甘情願地願意買票進場。要真是內部人士了,知道登山那麼難,恐怕白給他門票,都懶得去參觀。
除非是真正的登山愛好者,有着發自內省的興趣和追求。
「你就說怎麼做吧?」
「這次一共申請了9個相關的項目,我覺得這朋友網、搜索和瀏覽器的這三個項目,有必要儘快啟動。」
「哦?」
「朋友網這個說過了,搜索的項目……就是微點搜索做的一個網站優化。傳統的打開網頁的方式,是瀏覽器直接去網頁服務器採集數據,這個過程中有大量協議。如果讓微點搜索組建一個部門,把網站備份過來。用戶在使用微點搜索的時候,就不需要再去訪問網站服務器了,而是直接可以從我們的備份庫中讀取,就相當於繞開了協議。」