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