Zeal Blog - 泽欧里
梦想 就像鸡蛋
要么孵化 要么臭掉
WWW Zeal Blog

Avoid Unwanted Copies 问题

zeal 2007-08-08 22:30 于 开发/理论 , 1129 字 |  + 0 - 0   English
Made In Zeal 转载请保留原始链接:http://www.zeali.net/entry/530
标签 ( Tags ):  ,  , 

  OracleAS Web Cache 里面可以设置 Global URL Parameters to Ignore 来让 webcache 把多个带不同参数的 URL 作为同一个对象来缓存。比如说当利用 Dynamic Javascript 来进行跨域的数据调用的时候,对于 Firefox 来说不存在浏览器缓存过时数据的问题,但对于 IE 来说就会在多次动态加载某个 js URL 的时候总是缓存老的数据内容。

  这时候如果服务端提供 js 数据输出的 URL 是纯动态页面的话,可以设置 header 来强制客户端不缓存数据;如果是纯静态页面的话,可以在 URL 后面添加一个随机的字符串(比如 sURL+'?'+((new Date()).getTime()) ,不过对于这样的静态内容来说浏览器做本地缓存也很应该)。

  但如果你提供服务的是经过 Web Cache 做了 Cache 的内容,只有在内容发生变化的时候才通知 Oracle Web Cache 清除当前缓存,这时候想让 IE 浏览器即时抓到变化的内容就有点麻烦了。如果在 URL 后面增加一个随机的字符串参数的话, IE 固然不会错误的进行缓存,但 Web Cache 内存中就保留了无数个不同的 URL 对象,而实际上这些对象都是相同的东西。

  好在 Web Cache 控制台可以通过设置 Global URL Parameters to Ignore 来 Avoid unwanted copies ,让 Web Cache 在遇到 URL 中特定的 query 参数时进行忽略,以便把这些URL过滤成相同的一个。

  挺好用的一个功能,但似乎应用了这个过滤规则以后似乎无法即时清除指定的 URL cache 了。到后台查看 web cache 里面的对象,原来这个过滤规则的处理方法是把指定的参数的值用 @ 符号代替(比如 myservice.php?a=1&sid=45&rnd=4837281828 , 如果把 rnd 设置为 Global URL Parameters to Ignore 的话,过滤之后的 URL 就变成 myservice.php?a=1&rnd=@&sid=45),并且会对所有的参数按字母重新排序( sid 参数被放到了 rnd 参数的后面)。因此如果按照假定的 URL 来写清除规则( myservice.php\?a=1&sid=.* )的话就无法正确定位 cache 对象,需要把清除规则的参数也进行相应的调整才行。

This Entry was Last Modified on 2007-08-08 22:34
引用本文(TrackBack): 此功能无限期关闭ing ... 如有引用请在文中标明出处并提供超链接  
1 条评论:
- lihuawei () (link) 于 2007-08-10 16:39
确实很强啊
对于这篇日志您有什么想法?我想听听您的高见。
如果您不是没有思想的机器Spammer,请告诉我 4 + 8 =
然后任选以下两种方式之一告诉我您的身份:
1. 使用您的 OpenID
2. 使用传统留言格式
(必填) 名字
如何称呼您?
(选填) URL
在此填写您的 Blog / Homepage 的地址,我将非常乐于访问
(选填) Email
Email地址将在经过防SPAM处理后显示在页面。如果您不希望公开自己的Email,请略过此栏
并写下您的见解:
(由于需要进行SPAM过滤,如果评论提交速度慢请耐心等待)
记住我?

  如何进行评论                   当有新回复时给我发送邮件通知
除了 <b> 和 <i> 之外,其他的HTML标签都将从您的评论中去除. URL 或 Email 地址会被自动加上链接.
当您点击发表或者预览之后,系统会自动保存您此次评论的内容,以便当网络原因发表失败时直接按Ctrl-V重新粘贴上次评论内容。
注意:快捷键及自动拷贝功能仅对IE浏览器有效。
发贴统计

Tot 611/1320

日志存档
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
Zeal Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
Launched @
2005-04-27
 里,居也。——《说文》    里,邑也。——《尔雅》。李注:“居之邑也。”沪ICP备05024379号 Back To Home All Links Loading