session_cache_limiter

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

session_cache_limiter讀取/設置緩存限制器

說明

session_cache_limiter(string $cache_limiter = ?): string

session_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ù)來進行設置。

參數(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 />";
?>