9

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

有时我会看到 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")
4

1 回答 1

10

不同之处在于 usingheaders[]将覆盖以前的值,而add_header不会。

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

于 2010-06-25T00:22:46.607 回答