【问题标题】:PHP session_cache_limiter() private and nocache HTTP Expires date questionPHP session_cache_limiter() private and nocache HTTP Expires date 问题
【发布时间】:2010-01-19 16:23:18
【问题描述】:

如果您查看函数 session_cache_limiter() 的 PHP 文档帮助,您将看到如果 cache_limiter 参数设置为 private 或 nocache,Expires HTTP 标头设置为 const 日期(1981 年 11 月 19 日星期四 08:52 :00 GMT)。我知道这是避免缓存的过去日期,但为什么特别是这个日期/时间?这不是 0 日期,我猜这是某种复活节彩蛋。如果它在过去是某种虚拟值,我可以将它更改为其他东西(仍然在过去)并且仍然让 private/nocache 机制仍在工作吗?

【问题讨论】:

    标签: php http http-headers


    【解决方案1】:

    这是贡献代码的人的生日:

    差异: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

    要更改它,最好手动设置标题,例如 nocache 设置:

    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
    

    但你仍然可以这样做:

    session_cache_limiter('nocache')
    header('Expires: Thu, 1 Jan 2000 00:00:00 GMT');
    

    header 将替换任何具有相同名称的现有标题(默认情况下)。

    【讨论】:

    • 好的,所以用过去的另一个日期覆盖 HTTP Expires 值不会影响私有或 nocache 机制?
    • 是的,正如 Anthony 提到的那样......当你调用它时,由 session_cache_limiter 设置的标题,所以你可以覆盖......(为什么我不能发布 cmets?嗯)
    • @Anthony:我的网坏了,现在好多了:)
    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多