使用非持久性Http Cookies将带外数据传送到浏览器

时间:2009-09-26 11:34:42

标签: javascript html dom caching

想象一下,您的Web应用程序维护一个或多个页面的点击计数器,并且还会为匿名访问者积极地缓存这些页面。这就产生了这样的问题:至少hitcount对于那些访问者来说已经过时了,因为尽管连接器在服务器上准确地维护了,即使是那些访问者,他们也会看到旧的缓存页面一段时间。

如果服务器将继续为缓存页面提供服务但是会在非持久性http cookie中传递更新的计数器,以便由页面中的一段javascript读取,将更新的计数器注入DOM,该怎么办?

评论

2 个答案:

答案 0 :(得分:1)

您永远不会以这种方式跟踪访客。如果您正在积极地缓存页面,那么中间代理和浏览器也会缓存您的页面。因此,请求甚至可能无法到达您的服务器以供您跟踪。

这样做的最佳方法是使用类似于谷歌分析的方法。加载页面时,向服务器发送AJAX请求。此ajax请求将增加服务器上的当前计数器值,并返回最新值。然后客户端可以使用javascript显示服务器返回的值。

此方法可让您根据需要积极进行缓存,而不会失去跟踪访问者的能力。

答案 1 :(得分:0)

你也可以自己通过asp或php以编程方式获取页面缓存并替换hitcounter。