(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
session_cache_limiter — 讀取/設置緩存限制器
$cache_limiter
= ?): stringsession_cache_limiter() 返回當前緩存限制器的名稱。
緩存限制器定義了向客戶端發(fā)送的 HTTP 響應頭中的緩存控制策略。
客戶端或者代理服務器通過檢測這個響應頭信息來
確定對于頁面內(nèi)容的緩存規(guī)則。
設置緩存限制器為 nocache
會進制客戶端或者代理服務器緩存內(nèi)容,
public
表示允許客戶端或代理服務器緩存內(nèi)容,
private
表示允許客戶端緩存,
但是不允許代理服務器緩存內(nèi)容。
在 private
模式下, 包括 Mozilla
在內(nèi)的一些瀏覽器可能無法正確處理 Expire 響應頭,
通過使用 private_no_expire
模式可以解決這個問題:在這種模式下,
不會向客戶端發(fā)送 Expire
響應頭。
設置為 ''
可以關閉
自動發(fā)送緩存策略響應頭的功能。
請求開始的時候,緩存限制器會被重置為默認值,并且存儲在 session.cache_limiter 配置項中。 因此,如果要設置緩存限制器,對于每個請求, 都需要在調(diào)用 session_start() 函數(shù)之前, 調(diào)用 session_cache_limiter() 函數(shù)來進行設置。
cache_limiter
如果指定了 cache_limiter
參數(shù),
將使用指定值作為緩存限制器的值。
值 | 發(fā)送的響應頭 |
---|---|
public |
Expires:(根據(jù) session.cache_expire 的設定計算得出) Cache-Control: public, max-age=(根據(jù) session.cache_expire 的設定計算得出) Last-Modified:(會話最后保存時間) |
private_no_expire |
Cache-Control: private, max-age=(根據(jù) session.cache_expire 的設定計算得出), pre-check=(根據(jù) session.cache_expire 的設定計算得出) Last-Modified: (會話最后保存時間) |
private |
Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: private, max-age=(根據(jù) session.cache_expire 的設定計算得出), pre-check=(根據(jù) 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 |
返回當前所用的緩存限制器名稱。
示例 #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 />";
?>