代码之家  ›  专栏  ›  技术社区  ›  Oliver Weichhold

使用非持久性http cookies将带外数据传递到浏览器

  •  0
  • Oliver Weichhold  · 技术社区  · 15 年前

    假设您的web应用程序为一个或多个页面维护一个命中计数器,并且它还积极地为匿名访问者缓存这些页面。这就带来了一个问题,即对于那些访问者来说,至少hitcount是过时的,因为尽管hitcounter在服务器上被精确地维护,即使对于那些访问者,他们也会看到旧的缓存页面一段时间。

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

    意见?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Sripathi Krishnan    14 年前

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

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

    这种方法允许您在不失去跟踪访问者的能力的情况下,尽可能积极地缓存。

        2
  •  0
  •   Toad    15 年前

    您还可以通过ASP或PHP以编程方式获取该页面,并将其替换为HIT计数器。