2010-01-19 2 views
2

Si vous regardez l'aide doc PHP pour la fonction session_cache_limiter(), vous verrez que si le paramètre cache_limiter est défini sur private ou nocache, l'en-tête HTTP Expires est défini sur une date const (Jeu, 19 nov 1981 08:52:00 GMT). Je comprends que c'est une date dans le passé pour éviter la mise en cache, mais pourquoi cette date/heure en particulier? Ce n'est pas la date du 0, je suppose que c'est une sorte d'œuf de Pâques. Si c'est une sorte de valeur fictive dans le passé, puis-je la changer pour quelque chose d'autre (encore dans le passé) et toujours avoir le mécanisme private/nocache qui fonctionne encore?PHP session_cache_limiter() private et nocache HTTP Date d'expiration question

Répondre

5

c'est l'anniversaire de la personne qui a contribué le code:

diffs: http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.80&r2=1.81

http://www.phpbuilder.com/lists/php3-list/199911/3159.php

pour le changer, il serait préférable de régler les en-têtes manuellement, par exemple nocache ensembles ceci:

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 

mais vous pouvez toujours faire:

En-tête remplacera tout en-tête existant avec le même nom (par défaut)

+0

OK, donc l'écrasement de la valeur HTTP Expires avec une autre date dans le passé n'affectera pas le mécanisme privé ou nocache? – AlexV

+0

Il ne devrait pas l'affecter, non. –

+0

yep comme Anthony mentionne ... les en-têtes fixés par session_cache_limiter quand vous l'appelez, de sorte que vous pouvez écraser ... (pourquoi je ne peux pas poster des commentaires? Hmm) – jspcal