php - sesion - ¿Por qué "expira" 1981?
php session lifetime (4)
Mi trabajo CRON devolvió un error que indicaba que el trabajo CRON no funcionaba. En eso, esto estaba allí:
Set-Cookie: PHPSESSID=2t2drultihqci4em15nbfmeb63; path=/
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
Content-type: text/html
Me pregunto por qué se establece Expires
en "1981". ¿Cuál es el significado?
Alguien acaba de poner expires = date(''-30 years'')
(parafraseado) en su código para asegurarse de que el contenido está configurado como caducado y no en caché.
Creo que está utilizando session_cache_limiter
antes de llamar a session_start
. Si el argumento es private
o no-cache
el resultado es configurar el encabezado Expires
a la hora que ha mencionado. Consulte php.net/manual/en/function.session-cache-limiter.php documento para más información.
Es un intento de desactivar el almacenamiento en caché.
La fecha es el cumpleaños del desarrollador Sascha Schumann, quien agregó el código.
Desde session.c:
Authors: Sascha Schumann <[email protected]>
Andrei Zmievski <[email protected]>
// ...
CACHE_LIMITER_FUNC(private)
{
ADD_HEADER("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
CACHE_LIMITER(private_no_expire)(TSRMLS_C);
}
HTTP expira el encabezado
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
Se establece en valor negativo o pasado, para evitar el almacenamiento en caché de la respuesta.
Uso bastante común de este encabezado.