session_cache_limiter

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

session_cache_limiter讀取/設(shè)置緩存限制器

說明

session_cache_limiter(string $cache_limiter = ?): string

session_cache_limiter() 返回當(dāng)前緩存限制器的名稱。

緩存限制器定義了向客戶端發(fā)送的 HTTP 響應(yīng)頭中的緩存控制策略。 客戶端或者代理服務(wù)器通過檢測這個(gè)響應(yīng)頭信息來 確定對(duì)于頁面內(nèi)容的緩存規(guī)則。 設(shè)置緩存限制器為 nocache 會(huì)進(jìn)制客戶端或者代理服務(wù)器緩存內(nèi)容, public 表示允許客戶端或代理服務(wù)器緩存內(nèi)容, private 表示允許客戶端緩存, 但是不允許代理服務(wù)器緩存內(nèi)容。

private 模式下, 包括 Mozilla 在內(nèi)的一些瀏覽器可能無法正確處理 Expire 響應(yīng)頭, 通過使用 private_no_expire 模式可以解決這個(gè)問題:在這種模式下, 不會(huì)向客戶端發(fā)送 Expire 響應(yīng)頭。

設(shè)置為 '' 可以關(guān)閉 自動(dòng)發(fā)送緩存策略響應(yīng)頭的功能。

請求開始的時(shí)候,緩存限制器會(huì)被重置為默認(rèn)值,并且存儲(chǔ)在 session.cache_limiter 配置項(xiàng)中。 因此,如果要設(shè)置緩存限制器,對(duì)于每個(gè)請求, 都需要在調(diào)用 session_start() 函數(shù)之前, 調(diào)用 session_cache_limiter() 函數(shù)來進(jìn)行設(shè)置。

參數(shù)

cache_limiter

如果指定了 cache_limiter 參數(shù), 將使用指定值作為緩存限制器的值。

可選的值
發(fā)送的響應(yīng)頭
public
Expires:(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出)
Cache-Control: public, max-age=(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出)
Last-Modified:(會(huì)話最后保存時(shí)間)
private_no_expire
Cache-Control: private, max-age=(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出), pre-check=(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出)
Last-Modified: (會(huì)話最后保存時(shí)間)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出), pre-check=(根據(jù) session.cache_expire 的設(shè)定計(jì)算得出)
Last-Modified: (會(huì)話最后保存時(shí)間)
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

返回值

返回當(dāng)前所用的緩存限制器名稱。

范例

示例 #1 session_cache_limiter() 示例

<?php

/* 設(shè)置緩存限制器為 'private' */

session_cache_limiter('private');
$cache_limiter session_cache_limiter();

echo 
"The cache limiter is now set to $cache_limiter<br />";
?>