我如何去设置我的Web服务器上的特定文件的caching控制头? 我正在运行一个LAMP环境。 我不想在整个网站上设置caching控件,只是为了一些文件。 我正在使用CloudFront从我的某个域分发内容。 这里没有S3搭档。 默认情况下,内容在24小时后过期,这对网站上的大部分数据都是正确的,但是,有几页我只想要1小时的caching限制。
Amazon CloudFront (主要)遵循Amazon CloudFront对象有效期中logging的常规HTTPcaching控制机制(请参阅RFC 2616 ),具体为:
您可以使用源服务器中的对象上的 Cache-Control,Pragma或Expires标头指定更长的到期时间。 CloudFront不限制其最大值。
您可以指定的最短到期时间是一个小时。 如果您指定的最短时间less于一个小时,CloudFront将使用一个小时。
[强调我的]
因此,您必须编排LAMP堆栈以将所需的Cache-Control: max-age=3600头部专门应用于这些对象/页面,这些对象/页面将在之后的原始提取期间由CloudFront自动拾取。
具体做法取决于用于服务内容的工具/技术,例如:
通常我会推荐Mark Nottingham的caching教程 。
Fyi,上面的答案仍然是正确的,但在一方面略有过时,因为Cloudfront现在支持最小TTL为0。
亚马逊开发者指南:到期1