我最近一直在对输出缓存进行大量研究,并且能够通过 web.configvaryByQueryString
或varyByHeaders
.
然而,还有 Pingdom 的性能和真实用户监控(或 PRUM)的问题。他们有一个“有趣”的小beforeUnload
例程,PRUM_EPISODES
可以在您离开页面时设置一个 cookie,以便它可以为您的下一页加载计时。这个 cookie 的值基本上是unixtimestamp()
每秒变化的。
正如您所想象的那样,这完全破坏了用户模式的输出缓存,因为现在每个请求都将Cookie
在每个后续请求中使用不同的标头发送。
所以两个问题:
- 我的第一个倾向是找到一种在
PRUM_EPISODES
cookie 到达服务器之前删除它的方法,因为它对实际应用程序没有任何作用(这也是我ClientOnly
在下一个 HTTP 版本中对标志的非正式请求)。是否有人熟悉在单个 cookie 到达 IIS 的输出缓存引擎之前删除它们的技术或其他一些varyByHeaders="Cookie"
在忽略时利用的技术PRUM_EPISODES
?目前还没有找到这样的技术Web.config
。 - 是否所有监控系统都以这种方式操作 cookie(更改每个页面请求)以用于其跟踪机制,他们是否没有意识到这样做会破坏用户模式的输出缓存?