# session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

session_cache_limiter — 读取/设置缓存限制器

### 说明

session_value(?string `$value` = `null`): string|false

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 />";
?>`

### 参见

- session.cache_limiter

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open