在播放结果上设置 HTTP 标头(如过期) - 以及如何处理 ETag?

Posted

技术标签:

【中文标题】在播放结果上设置 HTTP 标头(如过期) - 以及如何处理 ETag?【英文标题】:Setting HTTP header (like expire) on Play Result - and how to handle ETag? 【发布时间】:2012-05-12 15:10:54 【问题描述】:

如何在 play 2.0 的结果对象中设置 Http 标头?

我想设置缓存控制(过期)ala 这个: 缓存控制 公开,最大年龄=2592000

检查 ET 标签并返回正确响应的最佳方法是什么?

一直在看这里,但没有看到任何东西: http://www.playframework.org/documentation/2.0.1/JavaActions

提前谢谢 托马斯·维维克

【问题讨论】:

【参考方案1】:

您需要查看 JavaResponse 部分...

http://www.playframework.org/documentation/2.0.1/JavaResponse

文档中设置缓存控制的示例是

public static Result index() 
  response().setContentType("text/html");
  response().setHeader(CACHE_CONTROL, "max-age=3600");
  response().setHeader(ETAG, "xxx");
  return ok("<h1>Hello World!</h1>");

【讨论】:

还找到了一个很好的链接到服务器静态资产github.com/playframework/Play20/wiki/Assets

以上是关于在播放结果上设置 HTTP 标头(如过期) - 以及如何处理 ETag?的主要内容,如果未能解决你的问题,请参考以下文章

通过 .htaccess 设置过期标头和压缩数据

使用 HTML5 播放器(音频标签)以确保安全时如何在 HTTP 请求中传递授权标头

如何处理 Firebase 中过期的用户 ID 令牌?

如何设置IIS以验证客户端证书并将其作为http标头传递给后端?

如何在 iOS 中添加带有 PCM 数据/缓冲区的可播放(如 wav、wmv)标头?

苹果手机cklib提示已过期?