为什么我的网站更新后,通过CDN后看到网页还是旧网页,如何解决? "

来源:互联网 发布:网络三大神书 编辑:程序博客网 时间:2024/04/28 08:20
速网科技 CDN全球网络加速CDN(Content Delivery Network),即内容分发网络。将网站的内容发布到最接近用户的网络"边缘"。使用户可以就近取得所需的内容如同访问本地。解决:电信、网通、铁通、移动、联通、教育网之间瓶颈 互联互通速度慢,瓦解Internet网络拥挤等状况,提高用户访问网站的响应速度。网页加速分为 静态加速 动态加速CDN核心部分主要是缓存,你的网站更新后,访问看到又是旧的信息,是因为CDN节点缓存了你旧的网站信息 没有及时更新造成的, 用CDN厂商提供的后台进行推送更新下就好了。速网科技 CDN更新可以通过后台推送更新,也可以按照客户要求灵活设置网页及 图片 或其他元素的缓存更新时间; 如 已经推送还是旧的,那就是你本地浏览器缓存;清空下浏览器缓存,重启浏览器,再是  Ctrl+F5 
====================================
加时间戳使js,css不缓存

好多Linux + Apache的服务器都会对CSS、JS和图片这些静态的内容设置缓存,到了IE这里又会在本地做一个缓存。所以当我们更新了CSS文件之后,常常会出现客户端没有更新,导致显示出现问题。之前我一直使用时间戳参数的方法来解决:

<link rel="stylesheet" type="text/css"   href="common.css?time=20060408" />每次更改了css文件就把参数time的值设为更改当日的日期,这样本地IE就会把它当作一个新的文件更新一次。

但是在最近做的项目中发现一个比较奇怪的问题,服务器端做了gzip压缩,到客户端第一次解压的时候没问题,第二次访问的时候ie从cache里读文件就出问题了,只能读出前面大约一两千个字节。在两台win2000+ie6的机子上重现了这个问题,XP的还没有发现。

最终的解决方案是在时间戳参数后面再加上一个.css结尾,也就是这么写:

<link rel="stylesheet" type="text/css"   href="common.css?time=20060408.css" />然后就一切正常了...

大概IE在从缓存里读文件的时候还得对文件扩展名做一个判断,所以这么加一下它就认了。我自己对这个解释不甚满意,所以如果你有标准答案麻烦留个言

当然js也可以用这种方法<script language="JavaScript" src="/flash/duilian.js?time=New Date()"></script>

原创粉丝点击