Как предотвратить кеширование браузера с помощью Play?

Часть моего приложения предоставляет файл для загрузки с помощью redirect () метод. Я обнаружил, что Chrome (а не Firefox или IE, как ни странно) кэширует этот файл, так что та же версия загружается, даже если она изменилась на стороне сервера. Я так понимаю, что есть способ запретить браузеру кэшировать файл, например , например в HTML, или добавив что-нибудь в заголовок HTTP. Я, вероятно, смог бы выяснить это в веб-структуре нижнего уровня, но я не знаю, как получить доступ к заголовку в Play !, и вариант HTML не будет работать, потому что это не файл HTML.

Кажется, что всегда есть умный и простой способ выполнять стандартные задачи в Play !, так что есть умный и простой способ предотвратить кеширование в контроллере?

Спасибо!

Редактировать:

Мэтт указывает мне на параметр http.cacheControl , который управляет кешированием для всего сайта. Хотя это сработает, у меня нет проблем с кешированием большей части сайта, особенно CSS и т. Д. Если возможно, я хотел бы контролировать кеширование для одного URL-адреса за раз (в данном случае указывающего на загружаемый файл). Это не будет сайт с высокой посещаемостью, так что это просто академический интерес.

В идеале я хотел бы сделать что-то вроде:

public static void downloadFile(String url) {
  response.setCaching(false);  // This is the method I'm looking for
  redirect(url);  // Send the response
}

9
задан andronikus 27 September 2011 в 15:28
поделиться