1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-27 17:23:32 +02:00
Files
archived-doc-ru/reference/session/functions/session-cache-limiter.xml
T
2024-05-01 13:26:35 +03:00

206 lines
7.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 927c3d9ef797f572473754d0ed8488d34986f0ca Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<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_cache_limiter</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> послать заголовок Expire, то это может привести
некоторые браузеры, включая <productname>Mozilla</productname>, в замешательство.
Вы можете обойти эту проблему, используя режим <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_cache_limiter</function> необходимо для каждого запроса
перед вызовом функции <function>session_start</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 "Режим кеширования установлен в $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
-->