首页 > 解决方案 > Play Framework 中是否有配置设置以在发送到客户端的响应中启用缓存控制标头

问题描述

我需要在来自控制器的所有 HTTP 响应中启用值为“no-cache”的响应中的 Cache-Control。我正在使用 Play 2.5.x (Scala 2.11.11)。播放文档没有任何提及。在 Web 上搜索会显示要添加http.cacheControl=0以在配置文件中启用此标题的建议。我试过了,但它不起作用(无论是在开发模式下还是在生产模式下)。有什么建议么 ?

标签: scalaplayframework

解决方案


嗯,cache-control将在您的响应的标题中,您需要为它编写一个过滤器,如'A simple logging filter'所示。因此,您可以更改示例以包含有关cache control以下内容的信息:

result.withHeaders("Cache-Control" -> "no-cache")

或者也许将值0赋予最大年龄:

result.withHeaders("Cache-Control" -> "max-age=0")

推荐阅读