Files
doc-fr/reference/session/functions/session-cache-limiter.xml
2024-05-05 21:49:44 +01:00

209 lines
6.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 927c3d9ef797f572473754d0ed8488d34986f0ca Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.session-cache-limiter" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_cache_limiter</refname>
<refpurpose>Lit et/ou modifie le limiteur de cache de session</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> retourne la configuration
courante du limiteur de cache.
</para>
<para>
Le limiteur de cache contrôle les en-têtes HTTP envoyés au client.
Certains en-têtes déterminent les règles de mise en cache de la page
sur le navigateur. En configurant ce limiteur à <literal>nocache</literal>,
par exemple, le navigateur ne mettra pas la page dans son cache. La valeur
<literal>public</literal>, au contraire, permettra le cache. La valeur
<literal>private</literal> désactive le cache pour le proxy et autorise le
client à mettre en cache le contenu.
</para>
<para>
En mode <literal>private</literal>, l'en-tête Expire envoyé au client
peut poser des problèmes à certains navigateurs, comme, notamment,
<productname>Mozilla</productname>. Vous pouvez éviter ce problème avec le mode
<literal>private_no_expire</literal>. L'en-tête <literal>Expire</literal>
n'est jamais envoyé au navigateur pour ce mode.
</para>
<para>
Le fait de définir le limiteur de cache à
la valeur <literal>''</literal> désactivera
automatiquement et totalement l'envoi des en-têtes de cache.
</para>
<para>
Le limiteur de cache est remis à la valeur par défaut de
<link linkend="ini.session.cache-limiter"><option>session.cache_limiter</option></link> à chaque
démarrage de script PHP. Donc, vous devrez appeler <function>session_cache_limiter</function> à
chaque page, et avant <function>session_start</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Si <parameter>value</parameter> est fourni et non &null;,
le limiteur de cache est reconfiguré avec cette valeur.
</para>
<table>
<title>Valeurs possibles</title>
<tgroup cols="2">
<thead>
<row>
<entry>Valeurs</entry>
<entry>Entêtes envoyés</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>public</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Expires: (Quelque chose dans le futur, suivant session.cache_expire)
Cache-Control: public, max-age=(Quelque chose dans le futur, suivant session.cache_expire)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
]]>
</programlisting>
</entry>
</row>
<row>
<entry><literal>private_no_expire</literal></entry>
<entry>
<programlisting role="header">
<![CDATA[
Cache-Control: private, max-age=(session.cache_expire dans le futur)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
]]>
</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 dans le futur)
Last-Modified: (le timestamp correspondant à la dernière sauvegarde de la session)
]]>
</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>
Retourne le nom du limiteur de cache courant.
En cas d'échec, &false; est retourné.
</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> est désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>session_cache_limiter</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* configure le limiteur de cache à 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
echo "Le limiteur de cache vaut maintenant $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
-->