G2EX

网络提供商的缓存问题

住处的网络提供商是宽带通,今天TeamViewer发布了9.0,在TeamViewer官网下载页面下载竟然得到的还是8.0版本。想到前两天发现了Ubuntu更新时错误Hash Sum mismatch的根本原因就是宽带通设置的透明缓存[了解更多],下载的文件不是更新源上的最新文件,计算出来的Hash Sum当然就匹配不正确了。于是使用国外VPN再次下载TeamViewer,便得到了最新的9.0版本!

下面以TeamViewer的下载为例,验证一下网络提供商是不是存在缓存的问题。

一、直接下载

不使用代理,直接打开TeamViewer官网下载页面,点击下载 v9.0.24482,如下图所示:

下载TeamViewer9

下载的文件名为TeamViewer_Setup_zhcn.exe,如图:

直接下载TeamViewer9

下载完成后,查看TeamViewer_Setup_zhcn.exe的属性,发现竟然是8.0.22298!其中修改日期是指文件在我电脑上创建的日期:

直接下载的程序属性

二、使用VPN下载

挂上国外的VPN(或其他代理软件),刷新TeamViewer官网下载页面,再次点击下载 v9.0.24482,保存的文件名为TeamViewer_Setup_zhcn (1).exe,如图:

使用代理下载TeamViewer9

接着查看TeamViewer_Setup_zhcn (1).exe的属性,确实是我们想要的9.0.24482版本了:

使用代理下载的程序属性

三、再次直接下载

你可能要问,“你第一次下载文件时有可能TeamViewer的服务提供的就是8.0.22298版本,第二次通过代理下载时,恰巧TeamViewer的服务器更新到了9.02.24482版本,上述过程不能说明是网络提供商的问题”。好吧,那下面断开国外的VPN,再次刷新TeamViewer官网下载页面,再次点击下载 v9.0.24482,保存的文件名为TeamViewer_Setup_zhcn (2).exe,如图:

直接下载TeamViewer9

接着查看TeamViewer_Setup_zhcn (2).exe的属性,还是老版本!

直接下载的程序属性

四、结论

通过国外VPN下载时,因为我的电脑和VPN服务器之间的数据是加密的,我所在的网络提供商宽带通就无法知道我下载的文件了,也就不会把它之前缓存的TeamViewer 8.0.22298版本返回给我,这本来是它为了节省带宽资源而设计的缓存机制,没想到无形之中造成了这样的神秘问题。如果以后碰到类似的情况,就要用代理了。看来翻墙不仅仅是为了对抗GFW,连网络提供商都要防着!

宽带通误我!

五、另外

使用宽带通的计算机访问不同地区的站点,计算机的出口IP是经过“优化”的,从下面的两张图中可以看出同一时间访问不同的网站时,其IP地址是不同的:

ip138

ipcn