2016-06-19 1 views
0

У меня есть класс tornado.web.StaticFileHandler, который используется для обслуживания некоторого статического контента. Я заметил, что изображения кэшируются в браузере, что приводит к тому, что изменения изображений остаются незамеченными. Я видел решение добавить флаг test.jpg?<file modifier> к изображению, чтобы сообщить браузеру, когда изображение было обновлено. К сожалению, я имею дело с большим количеством изображений, и добавление этого флага будет дорогостоящим. Я знаю, что есть другой способ изменить заголовки HTTP-запроса, указывающие, как долго браузер должен кэшировать контент. Кто-нибудь знает, как я могу это сделать в Tornado со статическим обработчиком файлов.Tornado: Настройка заголовков для кэширования

Также этот статический обработчик файлов обслуживает другой контент, такой как файлы .css и .js. Есть ли способ изменить кеширование на нем только для определенного контента или мне нужно будет настроить другой обработчик статических файлов и установить его по-другому?

** Следует также отметить, что изображения изменяются другим процессом Торнадо, который я подозреваю, почему эти изменения не подобраны процессом, служащее содержание ....

ответ

2

Написать подкласс StaticFileHandler, который переопределяет get_cache_time, чтобы вернуть 0. Это предотвратит поведение по умолчанию Tornado, которое должно вернуть время кеша 10 лет для доступа к статическим файлам, например file.jpg?v=random-id.

Игнорировать аргументы get_cache_time (путь, модифицироваться, mime_type), а просто возвращает 0.

+0

Спасибо Джесси, функция get_cache_time (путь, модифицироваться, mime_type), но документация не государство все аргументы означают , Вы знаете? –

+1

Отредактировал свой ответ. Если вам нравится, вы можете проанализировать путь, дату изменения файла и его mime_type перед возвратом 0, но похоже, что вы просто хотите вернуть ноль. Как всегда, вы можете прочитать источник, чтобы узнать, что означают следующие аргументы: https://github.com/tornadoweb/tornado/blob/master/tornado/web.py#L2388 –