【发布时间】:2019-06-25 09:36:20
【问题描述】:
我正在制作一个需要用户登录才能访问任何内容的网站,因此所有视频和图像资产都通过对 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 文件来自“(来自内存缓存)”或“(来自浏览器缓存)”,但我所有的重资产(图像和视频)都没有缓存。
如何让浏览器缓存这些?
【问题讨论】:
-
make suer 为文件提供服务的脚本发送标头 Cache-Control,eTag,max-age 不确定此处还需要哪些其他标头,但这可能是问题所在
标签: php apache caching browser-cache