返回列表 回复 发帖

[纯技术] 你的软件有自动更新功能的都来看一看

前几天换了广电宽带,才发现这个秘密,原来广电宽带的用户都无法正常自动更新,好几年了,我今天才找出来了原因。以前经常有用户找我反馈无法更新的问题,我一直找不出原因。广电为了节省网间带宽流量,在很多资源上做了缓存,如果你的HTTP请求没有cookie,广电会把你的请求转向到它们的缓存资源上,软件升级时都请求到了旧版本的缓存上去了。
我随便加上cookie后,这个问题就解决了


还有估计移动宽带也会这样
不大可能.现在很多网站都是用的Ajax或者动态数据获取, 直接静态缓存,肯定大部分网站的页面都会出错.
如果用cloudflare那种缓存模式(或其他CDN加速)免费为所有网站缓存, 成本也太高了.

用Cookie能访问,可能是IE自己的缓存.
以前我们在做远程XML数据请求的时候发现,当你请求URL时,IE会自己缓存数据, IE有一套自己的缓存规则.
所以后面我们把URL的后缀加上时间戳(比如年月日时分秒+6位乱数),来解决IE缓存的问题.
不一样的,你说的是浏览器缓存的情况
浏览器访问一般都带cookie,不存在这个问题
我的软件更新原来没加cookie的
不一样的,你说的是浏览器缓存的情况
浏览器访问一般都带cookie,不存在这个问题
我的软件更新原来没加cookie的
happy5630 发表于 2015-3-29 10:15
不是的, 我说的不是浏览器缓存, 即使你在程序内部直接调用URL(不是用IE或IE控件打开)也是受到IE自带缓存管理的. 同时还受本机IE配置的限制.
本帖最后由 s00001 于 2015-3-29 11:01 编辑

还有,你这样想一下. 像广电这样的用户数量肯定是天文数字的. 如果要架设服务器来缓存网站数据,那费用也是天文数字的. 而且现在很多用户上网都在看视频,听音乐,打游戏,下载文件. 哪个流量不比网页的流量大. 而且还不算不能缓存的HTTPS协议和FTP等其他协议.

如果真要搞这一套系统.那每个地级市都要新建机房,

还要考虑停机维护和宕机的问题.

硬件还要

不断折旧

和更新换代,还不算人工工程师成本. 合算下来不一定比直通要便宜.



个人认为完全没有必要.
如果真有可能是小区管理员私人搞的什么东西.如果是外部级别的可能性非常小.
6# s00001
广电有缓存的,http://www.docin.com/p-588286981.html
更多百度了解
这个问题 早两年就发现了, 有一个特点文件大于1M的才会被缓存, 小于1M的 是下载最新的文件
也可能是 文本类不缓存的, zip之类的文件做缓存.  我是用net组件访问的 不知道怎么家cookie 不过这个问题不太严重
偶尔一段出现, 他那个缓存也会更新, 宽带提供商规模越小出现这个问题的几率越高(可能是会减少他们网间结算的费用)
自动更新怎么加Cookie,不就是访问个文件吗
身未动,单已来
自动更新怎么加Cookie,不就是访问个文件吗
yxsoft 发表于 2015-4-6 23:26
暂时还不知道,不过如果客户遇到类似问题 他会找我 我发QQ文件给他即可解决
如果是cdn原理你请求的时候带个版本参数应该可以,例如www.aaa.com/a.zip?ver=1.2.3.4
这样缓存只是特定版本,你更新了ver参数就会从新请求和缓存
http://www.tantai.org
9# yxsoft
自已构造http请求头时加上
11# zergtant
浏览器缓存加上版本就可以解决了,经测试那种缓存不行
返回列表