Posted on 2005-12-07 13:10
inwind 閱讀(351)
評論(0) 編輯 收藏 引用 所屬分類:
搜索引擎
Google網(wǎng)頁加速器的工作原理,其實很簡單:Proxy + 緩存。
1. 本地化的Proxy + 緩存
當(dāng)運行了 google 的網(wǎng)頁加速器,本機(jī)會啟動一個httpd的服務(wù),端口是9100 :
http://127.0.0.1:9100
這個服務(wù)實際上是一個本地化的Proxy+緩存,就是所有的 http 的請求都是通過這里走的。那么為什么能夠加速呢?
緩存。當(dāng)你第一次訪問一個網(wǎng)頁的時候,相當(dāng)多的圖片,靜態(tài)文字全部的存儲下來,然后當(dāng)你再次訪問的時候,就直接從緩存里調(diào)出來,因此大大加快了訪問速度。
我這里做了一個有趣的試驗:
訪問我自己的blog一個日志(http://blog.wespoke.com/archives/000907.html)的日志記錄:
adsl-69-154-77-102.dsl.rcsntx.swbell.net - - [09/May/2005:12:34:38
+0800] "GET /archives/000907.html HTTP/1.1" 304 -
刷新這個網(wǎng)頁,Apache的記錄仍然是 304。表明沒有傳輸內(nèi)容,緊緊驗證了
expired的信息。
touch archives/000907.html (改變這個文檔的時間標(biāo)記)
再次刷新,這次不一樣了:
adsl-69-154-77-102.dsl.rcsntx.swbell.net - - [09/May/2005:12:35:28
+0800] "GET /archives/000907.html HTTP/1.1" 200 10319
這次是返回了200,并傳輸了10319個字節(jié)。
這個就是工作的原理,在第一種的情況下,節(jié)省了10319個字節(jié)的傳輸。
當(dāng)然,這也是所有的緩存proxy的設(shè)計原則。
2. Google 的緩存+路由
當(dāng)我發(fā)現(xiàn)我訪問的日志上記錄的IP和我本地的IP不一樣的時候,看來Google 自己也還是有緩存服務(wù)器的,就是說當(dāng)我們請求一個網(wǎng)頁時,如果聯(lián)接非常的慢,google會讓這個請求通過google的緩存服務(wù)器,同時改變路由。這就是為什么看到的IP不是自己機(jī)器的IP了。
由此看來,Google的網(wǎng)絡(luò)加速器實際上是一個個人的小型Proxy緩存服務(wù)器+Google帝國的一個格點狀的Proxy緩存服務(wù)器系統(tǒng)構(gòu)成并有效的來管理這些緩存,并非什么特別的技術(shù),而是將大家忽視了多年的一些基本的概念從新應(yīng)用了起來。
3. 看看這里就更加明白一些:http://race.google/http://www.wespoke.com,注意,必須啟動了加速器后才能連接,因為google Web Accelerator講這個域名解釋為本機(jī)并采用Iframe顯示。您可以將http://www.wespoke.com替換成您想要到達(dá)的網(wǎng)頁,看看有沒有加速?
關(guān)于加速的原理,你應(yīng)該了解expired模塊。
http://httpd.apache.org/docs/mod/mod_expires.html