【问题标题】:Cache anonymous HTTP requests (based on cookies)缓存匿名 HTTP 请求(基于 cookie)
【发布时间】:2011-08-26 18:25:26
【问题描述】:

我想为我的 Python Web 应用程序添加一个 HTTP(或 WSGI)缓存,用于所有请求

  • GETHEAD
  • 没有名为 "session_id" 的 cookie(已知用户获得专门的、不可缓存的页面)
  • 没有名为 "_flash" 的 cookie(此 cookie 用于向用户显示一些短消息,例如“文章创建成功”,即使在重定向之后也是如此)
  • 如果存在以 "__utm" 开头的 cookie(由 Google Analytics 创建),则应将其忽略(不存储在缓存中),但仍应缓存该站点

如果考虑到其他常见的缓存指令(如 cache-control: private)甚至 ETAG 也很好,但目前不是必需的。

最好,我不想运行任何额外的软件,如 Squid(但如果有充分的理由,我会使用它),所以我更喜欢基于 mod_apache 的解决方案,甚至是某种memcached 支持的 WSGI 中间件;也欢迎其他解决方案。

非常感谢,
克里斯托夫

【问题讨论】:

    标签: python http caching squid mod-cache


    【解决方案1】:

    我建议您查看varnish。它比您编写/查找的任何 WSGI 中间件都要快得多,并且您应该能够用它做任何您想做的事情。以下是体验它的许多功能和选项的教程:http://www.varnish-cache.org/docs/trunk/tutorial/index.html

    【讨论】:

    • varnish 似乎很棒。我昨天晚上在 Apache 前安装了它。只花了几分钟(我刚刚从 varnish 站点复制了 google Analytics sn-p 并修复了我的 WSGI 工具包中的一个错误,该错误在每个请求上发送了一个 Set-Cookie 标头)。现在一切都按预期进行。非常感谢这个伟大的建议!
    • 没问题,我很幸运使用清漆,它非常快速和灵活!
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2012-04-05
    • 2016-06-29
    相关资源
    最近更新 更多