(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
session_cache_limiter — 讀取/設(shè)置緩存限制器
$cache_limiter
= ?): stringsession_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è)置。
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 />";
?>