HTTP缓存过期

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.1,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

HTTP缓存过期

失效模式是最有效和直接的两个缓存模型,应该尽可能地使用。响应缓存过期时,缓存返回击中它直接应用到缓存的响应过期。

失效模式可以实现使用两种,几乎相同,HTTP头信息:到期cache - control

您当然可以使用验证和过期在相同的响应。过期赢在验证,您可以很容易地受益于两全其美。换句话说,通过使用过期和验证,您可以指示缓存服务缓存的内容,虽然检查回顾一些间隔(过期)验证内容仍然有效。

提示

您还可以定义HTTP缓存头供使用注释过期和验证。看到FrameworkExtraBundle文欧宝体育电话档

过期的cache - control

大多数时候,您将使用cache - control头。回忆,cache - control头用于指定不同的缓存指令:

1 2 3
/ /设置的秒数后响应/ /不应该再被认为是新鲜的美元响应- >setSharedMaxAge (600年);

cache - control头将承担以下格式(它可能有额外的指令):

1
cache - control:公共,s-maxage = 600

过期的到期

一个替代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服务器到期在未来日期超过一年。”

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。