HTTP缓存过期
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 5.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
HTTP缓存过期
的失效模式是最有效和直接的两个缓存模型,应该尽可能地使用。响应缓存过期时,缓存返回击中它直接应用到缓存的响应过期。
失效模式可以实现使用两种,几乎相同,HTTP头信息:到期
或cache - control
。
过期和验证
您可以使用验证和过期在相同的响应
。过期赢在验证,你可以受益于两全其美。换句话说,通过使用过期和验证,您可以指示缓存服务缓存的内容,虽然检查回顾一些间隔(过期)验证内容仍然有效。
提示
您还可以定义HTTP缓存头供使用注释过期和验证。看到FrameworkExtraBundle文欧宝官网下载app档。
过期的cache - control
头
大多数时候,您将使用cache - control
头,用于指定不同的缓存指令:
1 2 3 4
/ /设置的秒数后响应/ /不应再被视为新的共享缓存美元响应- >setPublic ();美元响应- >setMaxAge (600年);
的cache - control
头将承担以下格式(它可能有额外的指令):
1
cache - control:公共,maxage = 600
请注意
使用setSharedMaxAge ()
方法不同时使用setPublic ()
和setMaxAge ()
方法。根据服务的响应RFC 7234的部分s-maxage
设置(添加setSharedMaxAge ()
方法)禁止缓存使用陈旧的反应stale-if-error
场景。这就是为什么建议同时使用公共
和信息
指令。
过期的到期
头
一个替代cache - control
标题是到期
。没有优势或劣势:他们只是不同方式设置过期缓存响应。
根据HTTP规范”到期
头部字段提供一个日期/时间的反应被认为是过时的。”的到期
标题可以设置的setExpires ()
响应
方法。需要一个DateTime
实例作为一个参数:
1 2 3 4
美元日期=新DateTime ();美元日期- >修改(+ 600秒的);美元响应- >setExpires (美元日期);
生成的HTTP头是这样的:
1
到期:星期四,2011年3月01 16:00:00格林尼治时间
请注意
的setExpires ()
方法自动将日期转换为格林尼治时间时区的要求规范。
注意,在HTTP 1.1之前版本起源服务器不需要发送日期
头。因此,缓存(如浏览器)可能需要依靠当地的时钟来评估到期
头的寿命计算容易时钟歪斜。另一个限制到期
头是规范规定,“不应该发送HTTP / 1.1服务器到期
在未来日期超过一年。”
请注意
根据计算新鲜一生RFC 7234的部分到期
头值时被忽略s-maxage
或信息
指令的cache - control
头被定义。