(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
session_cache_limiter — 現在のキャッシュリミッタを取得または設定する
$value
= null
): string|falsesession_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 />";
?>