Google App Engine - 用于缓存控制的headers []和headers.add_header()

时间:2010-06-25 00:16:29

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

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

有时我会看到使用标题[]

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")

甚至混合了header []和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")

1 个答案:

答案 0 :(得分:10)

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

从wsgiref.headers docs(由GAE docs引用),“设置标头删除该标头的任何现有值,然后在包装标头列表的末尾添加新值。“