浏览器通过php查询字符串缓存图片和视频

时间:2019-01-31 20:34:43

标签: php apache caching browser-cache

我正在建立一个网站,要求用户登录才能访问任何内容,因此所有视频和图像资产都通过对php文件的请求来提供,例如:

example.com/media/?clip=668&q=h 服务器检查是否允许该用户,如果允许,则返回一个mp4文件,“ q = h”表示“我想要半分辨率视频”

example.com/media/?clip=668&q=t 回复一个jpeg文件,“ q = t”表示“我想要缩略图”

在我的网站上一切正常,我已经设置了mime类型和所有内容。但是,Chrome永远不会缓存任何这些资产,因此我的带宽在飞速增长。在Chrome Inspector的“网络”标签中,我的css和js文件来自“(来自内存缓存)”或“(来自浏览器缓存)”,但是我所有的重资产(图像和视频)都没有缓存。

我如何让浏览器缓存这些内容?

enter image description here

1 个答案:

答案 0 :(得分:0)

感谢@tim!

问题出在我与媒体一起提供的标题中。我在Chrome浏览器中查看了响应,并说:

Cache-Control: must-revalidate, no-cache, no-store

我没有设置这些,它必须是apache的默认值,因为我正在通过脚本提供服务?无论如何,要修复,我只是添加了:

Cache-Control: public

到我的PHP文件,它似乎正在工作!