session_cache_limiter

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

session_cache_limiter現在のキャッシュリミッタを取得または設定する

説明

session_cache_limiter(?string $value = null): string|false

session_cache_limiter() は、 現在のキャッシュリミッタの名前を返します。

キャッシュリミッタは、クライアントに送信されるキャッシュ制御用の HTTPヘッダを制御します。これらのヘッダは、ページの内容をクライアントやプロキシがキャッシュ する規則を定義します。例えば、キャッシュリミッタを nocacheに設定した場合、クライアント/プロキシのキャッ シュは無効になります。しかし、publicの場合は、 キャッシュを許可します。privateと設定すること も可能で、この場合、プロキシがキャッシュすることは許可しませんが クライアントがキャッシュすることは許可されます。

privateモードにおいて、Expireヘッダがクライア ントに送信されます。これは、Mozilla のようないくつかのブラウザを混乱させます。これを避けるには、 private_no_expireモードを使用してください。 このモードでは、Expireヘッダはクライアントに送信されません。

キャッシュリミッタを '' にすると、 キャッシュヘッダの自動送信を完全に無効化します。

キャッシュリミッタは、リクエスト開始時に session.cache_limiterに保存されたデフォルト値 にリセットされます。つまり、各リクエスト毎に(アウトプットバッファ が無効な場合は、session_start()がコールされる 前に) session_cache_limiter()をコールする必要 があります。

パラメータ

value

value が指定され、null でない場合、 現在のキャッシュリミッタは新しい値に変更されます。

取り得る値
送信されるヘッダ
public
Expires: (未来のいつか、session.cache_expires による)
Cache-Control: public, max-age=(未来のいつか、session.cache_expire による)
Last-Modified: (セッションが最後に保存されたときのタイムスタンプ)
private_no_expire
Cache-Control: private, max-age=(session.cache_expire ぶんだけ未来), pre-check=(session.cache_expire ぶんだけ未来)
Last-Modified: (セッションが最後に保存されたときのタイムスタンプ)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expire ぶんだけ未来), pre-check=(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

戻り値

現在のキャッシュリミッタの名前を返します。 値の変更に失敗した場合は、false を返します。

変更履歴

バージョン 説明
8.0.0 value は、nullable になりました。

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

関連キーワード:  キャッシュリミッタ, 設定, expire, limiter, session, 取得, private, 未来, キャッシュ, ヘッダ