posts - 12, comments - 4, trackbacks - 0, articles - 36

Google网页加速器的工作原理

Posted on 2005-12-07 13:10 inwind 阅读(335) 评论(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


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理