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