【问题标题】:Google App Engine - headers[] and headers.add_header() for cache controlGoogle App Engine - headers[] 和 headers.add_header() 用于缓存控制
【发布时间】:2010-06-25 00:16:29
【问题描述】:

设置缓存控制的正确方法是什么?

有时我会看到 headers[]

self.response.headers["Pragma"]="no-cache"
self.response.headers["Cache-Control"]="no-cache, no-store, must-revalidate, pre-check=0, post-check=0"
self.response.headers["Expires"]="Thu, 01 Dec 1994 16:00:00"

其他时候,我看到 headers.add_header()

self.response.headers.add_header("Pragma","no-cache")
self.response.headers.add_header("Cache-Control","no-cache, no-store, must-revalidate, pre-check=0, post-check=0")
self.response.headers.add_header("Expires","Thu, 01 Dec 1994 16:00:00")

甚至是 headers[] 和 headers.add_header() 的混合

self.response.headers["Pragma"]="no-cache"
self.response.headers.add_header("Cache-Control","no-cache, no-store, must-revalidate, pre-check=0, post-check=0")
self.response.headers.add_header("Expires","Thu, 01 Dec 1994 16:00:00")

【问题讨论】:

    标签: python google-app-engine header no-cache


    【解决方案1】:

    不同之处在于使用headers[] 会覆盖以前的值,而add_header 不会。

    来自 wsgiref.headers docs(由 GAE docs 引用),“设置标头会删除该标头的所有现有值,然后在包装的标头列表的末尾添加一个新值。”

    【讨论】:

    • 所以要设置缓存控制,只需使用headers[],因为这些标头是单值的(例如,您不希望出现多个Pragma 标头)。
    猜你喜欢
    • 2014-02-13
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多