提高stackoverflow.com访问速度的非常有效的技巧

做为一个程序员,stackoverflow.com是访问频率很高的一个网站,可是国内的网络环境导致访问stackoverflow.com时慢如蜗牛,有时干脆打不开,实在无法忍受,当然翻墙或许可以解决这个问题,前提是你得有翻墙的条件。另外翻墙通常使用国外的代理,访问速度未必快。

为了尝试提高一下访问速度,于是乎打开了浏览器开者工具观察下到底是什么原因导致访问速度如此慢,经过了漫长的等待之后,查看了网页中资源的请求时间,结果发现了几大元凶:

0CEE16D0-C4DC-42E1-903C-3038C2104032

不看不知道,一看吓一跳,看看加载时间简直惊待了。

虽然这些资源没有成功加载,但是网页要查看的内容没有受太大影响。分析下这些被阻止的内容:

www.gravatar.com 主要是加载的头像资源,我们访问stackoverflow.com的目的是查看问题,这个头像有没有无所谓了,另外graph.facebook.com也是加载的头像。

ajax.googleapis.com 这是google的api在线资源库,里面包含了像jquey等常用的js库,很多国外的网站都采用了ajax.googleapis.com上的资源来提高访问速度。

既然没有加载也没有影响内容的查看就干脆屏蔽掉吧,在主机列表中(像osx、linux的主机文件为/etc/hosts, windows系统下在C:\WINDOWS\system32\drivers\etc中)添加如下:

127.0.0.1 www.gravatar.com
127.0.0.1 graph.facebook.com
127.0.0.1 ajax.googleapis.com

保存后再重新打开(windows修改完了可能要禁用网卡再重新启用才会生效)stackoverflow.com看下,是不是速度提高了很多?原理就不用再解释了吧。。。终于可以愉快的访问stackoverflow.com了。

另外建议再加上以下几个:

127.0.0.1 0.gravatar.com

127.0.0.1 1.gravatar.com

127.0.0.1 www.google-analytics.com

这种方法不仅对stackoverflow.com有效,你会发现加上这个之后很多国外网站访问速度变快了!像wordpress的博客网站默认会启用gravatar.com的头像,这个速度提升也很明显。

看到这里有的童鞋可能会问了,如果头像屏蔽就屏蔽了,可是像ajax.googleapis.com这种有些网站不加载里面的jquey之类库是无法正常使用的,在不翻墙的情况下有没有办法解决呢?其实问题一出现可能很多人已经想到解决办法了,域名的ip可以随便指向了,那么只要把ajax.googleapis.com指到有这些资源的ip上即可。最简单的方法是找一台主机把资源都放上面,然后在主机表中指定一下就OK。需要注意的地方就是,很多网站上链接的ajax.googleapis.com是用的https,所以还需要主机支持https访问。如果你的主机没有https证书也不用担心要花钱买,可以在服务器端自己生成一个,然后导入本地即可。细节就不再阐述了。