-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathsession-cache-limiter.xml
206 lines (196 loc) · 6.01 KB
/
session-cache-limiter.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 927c3d9ef797f572473754d0ed8488d34986f0ca Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<refentry xml:id="function.session-cache-limiter" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_cache_limiter</refname>
<refpurpose>读取/设置缓存限制器</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>session_value</methodname>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>value</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>session_cache_limiter</function> 返回当前缓存限制器的名称。
</para>
<para>
缓存限制器定义了向客户端发送的 HTTP 响应头中的缓存控制策略。
客户端或者代理服务器通过检测这个响应头信息来
确定对于页面内容的缓存规则。
设置缓存限制器为 <literal>nocache</literal> 会禁止客户端或者代理服务器缓存内容,
<literal>public</literal> 表示允许客户端或代理服务器缓存内容,
<literal>private</literal> 表示允许客户端缓存,
但是不允许代理服务器缓存内容。
</para>
<para>
在 <literal>private</literal> 模式下, 包括 <productname>Mozilla</productname>
在内的一些浏览器可能无法正确处理 Expire 响应头,
通过使用 <literal>private_no_expire</literal> 模式可以解决这个问题:在这种模式下,
不会向客户端发送 <literal>Expire</literal> 响应头。
</para>
<para>
设置为 <literal>''</literal> 可以关闭
自动发送缓存策略响应头的功能。
</para>
<para>
请求开始的时候,缓存限制器会被重置为默认值,并且存储在
<link linkend="ini.session.cache-limiter">session.cache_limiter</link>
配置项中。
因此,如果要设置缓存限制器,对于每个请求,
都需要在调用 <function>session_start</function> 函数之前,
调用 <function>session_cache_limiter</function> 函数来进行设置。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
如果指定 <parameter>value</parameter> 且不为 &null;,
将使用指定值作为缓存限制器的值。
</para>
<table>
<title>可选的值</title>
<tgroup cols="2">
<thead>
<row>
<entry>值</entry>
<entry>发送的响应头</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>public</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Expires:(根据 session.cache_expire 的设定计算得出)
Cache-Control: public, max-age=(根据 session.cache_expire 的设定计算得出)
Last-Modified:(会话最后保存时间)
]]>
</programlisting>
</entry>
</row>
<row>
<entry><literal>private_no_expire</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Cache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出)
Last-Modified: (会话最后保存时间)
]]>
</programlisting>
</entry>
</row>
<row>
<entry><literal>private</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(根据 session.cache_expire 的设定计算得出)
Last-Modified: (会话最后保存时间)
]]>
</programlisting>
</entry>
</row>
<row>
<entry><literal>nocache</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
]]>
</programlisting>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
返回当前所用的缓存限制器名称。如果更改值失败,则返回 &false;。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>value</parameter> 现在可为 null。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>session_cache_limiter</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
/* 设置缓存限制器为 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
echo "The cache limiter is now set to $cache_limiter<br />";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ini.session.cache-limiter">session.cache_limiter</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->