Google App Engine - headers [] и headers.add_header () для управления кешем - PullRequest
9 голосов
/ 25 июня 2010

Как правильно настроить управление кэшем?

Иногда я вижу использование заголовков []

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

И даже смесь заголовков [] и заголовков.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 Ответ

10 голосов
/ 25 июня 2010

Разница в том, что использование headers[] перезапишет предыдущие значения, а add_header - нет.

Из wsgiref.headers docs (на что ссылаются GAE docs ): «Установка заголовка удаляет все существующие значения для этого заголовка, а затем добавляет новое значение в конце списка завернутых заголовков. "

...