HTTP缓存过期
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
HTTP缓存过期
的失效模式是两种缓存模型中最有效和最直接的,应该尽可能使用。当响应被缓存到过期时,缓存将直接返回该响应,直到缓存的响应过期为止。
过期模型可以使用两个几乎相同的HTTP头中的一个来完成:到期
或cache - control
.
到期时使用cache - control
头
大多数情况下,您将使用cache - control
头文件,用于指定许多不同的缓存指令:
1 2 3
//设置响应后的秒数//共享缓存不再认为是新鲜的$响应->setSharedMaxAge (600);
的cache - control
Header将采用以下格式(它可能有额外的指令):
1
Cache-Control: public, s-maxage=600
到期时使用到期
头
替代方案cache - control
标题是到期
.这两种方法都没有优劣之分:它们只是在响应上设置过期缓存的不同方法。
根据HTTP规范,“the到期
报头字段给出的日期/时间之后,响应被认为是陈旧的。的到期
属性可以设置setExpires ()
响应
方法。它需要DateTime
Instance作为参数:
1 2 3 4
$日期=新DateTime ();$日期->修改(+ 600秒的);$响应->setExpires ($日期);
结果的HTTP头看起来像这样:
1
截止日期:2011年3月1日星期四16:00:00 GMT
请注意
的setExpires ()
方法自动将日期转换为规范要求的GMT时区。
注意,在1.1之前的HTTP版本中,源服务器不需要发送日期
头。因此,缓存(例如浏览器)可能需要依赖本地时钟来计算到期
报头使寿命计算容易受到时钟倾斜。另一个限制到期
该规范声明“HTTP/1.1服务器不应该发送到期
日期超过一年以后。”
请注意
根据RFC 7234 -缓存,到期
属性时,将忽略头值s-maxage
或信息
环保署指示cache - control
头被定义。
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。