(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
session_cache_limiter — 读取/设置缓存限制器
session_cache_limiter() 返回当前缓存限制器的名称。
缓存限制器定义了向客户端发送的 HTTP 响应头中的缓存控制策略。
客户端或者代理服务器通过检测这个响应头信息来
确定对于页面内容的缓存规则。
设置缓存限制器为 nocache
会禁止客户端或者代理服务器缓存内容,
public
表示允许客户端或代理服务器缓存内容,
private
表示允许客户端缓存,
但是不允许代理服务器缓存内容。
在 private
模式下, 包括 Mozilla
在内的一些浏览器可能无法正确处理 Expire 响应头,
通过使用 private_no_expire
模式可以解决这个问题:在这种模式下,
不会向客户端发送 Expire
响应头。
设置为 ''
可以关闭
自动发送缓存策略响应头的功能。
请求开始的时候,缓存限制器会被重置为默认值,并且存储在 session.cache_limiter 配置项中。 因此,如果要设置缓存限制器,对于每个请求, 都需要在调用 session_start() 函数之前, 调用 session_cache_limiter() 函数来进行设置。
value
如果指定 value
且不为 null
,
将使用指定值作为缓存限制器的值。
值 | 发送的响应头 |
---|---|
public |
Expires:(根据 session.cache_expire 的设定计算得出) Cache-Control: public, max-age=(根据 session.cache_expire 的设定计算得出) Last-Modified:(会话最后保存时间) |
private_no_expire |
Cache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出) Last-Modified: (会话最后保存时间) |
private |
Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出) Last-Modified: (会话最后保存时间) |
nocache |
Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache |
返回当前所用的缓存限制器名称。如果更改值失败,则返回 false
。
版本 | 说明 |
---|---|
8.0.0 |
value 现在可为 null。
|
示例 #1 session_cache_limiter() 示例
<?php
/* 设置缓存限制器为 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
echo "The cache limiter is now set to $cache_limiter<br />";
?>