PHP session_cache_limiter 会话函数



  • 定义和用法

    session_cache_limiter - 读取/设置缓存限制器
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    session_cache_limiter ( [ string $cache_limiter ] )
    
    session_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
    
  • 返回值

    返回当前所用的缓存限制器名称。
  • 示例

    /* 设置缓存限制器为 'private' */
    
    session_cache_limiter('private');
    $cache_limiter = session_cache_limiter();
    
    echo "The cache limiter is now set to $cache_limiter<br />";
    
  • 相关函数

    session_cache_expire() - 返回当前缓存的到期时间