改变HTTP缓存的响应
编辑本页改变HTTP缓存的响应
到目前为止,我们假设每个URI都只有目标资源的一种表示形式。默认情况下,HTTP缓存是通过使用资源的URI作为缓存键完成的。如果两个人请求一个可缓存资源的相同URI,第二个人将收到缓存的版本。
有时这还不够,需要基于一个或多个请求头值缓存相同URI的不同版本。例如,如果在客户端支持压缩页面的情况下压缩页面,那么任何给定的URI都有两种表示:一种是客户端支持压缩,另一种是不支持压缩。这个确定是由值来完成的接受编码
请求头。
在这种情况下,您需要缓存存储特定URI响应的压缩版本和未压缩版本,并根据请求返回它们接受编码
价值。这是通过使用不同
响应头,这是一个以逗号分隔的不同头的列表,其值触发所请求资源的不同表示:
1
变体:Accept-Encoding, User-Agent
提示
这个特殊的不同
的值将缓存每个资源的不同版本接受编码
而且用户代理
请求头。
设置不同
头部通过响应
对象方法或#(缓存())
属性:
- 属性
- PHP
1 2 3 4 5 6 7 8 9 10 11
//该属性接受一个带有头部名称的数组//响应变化的名称使用ob娱乐下载\组件\HttpKernel\属性\缓存;/ /……#(缓存(不同:['接受编码']))#[Cache(vary: ['Accept-Encoding', 'User-Agent'])]公共函数指数(){/ /……}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。