因为这个缘故,CDN的 x-Cache总是MISS TCP_MISS,导致要回源。
查了半个小时,终于找到原因了。
(问题图片)
来自session.c:
Authors: Sascha Schumann
Andrei Zmievski
// ...
CACHE_LIMITER_FUNC(private)
{
ADD_HEADER("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
CACHE_LIMITER(private_no_expire)(TSRMLS_C);
}
见:http://php.net/manual/en/function.session-cache-limiter.php
在session_start() 之前添加session_cache_limiter(’public’)以启用缓存。
如果你用的是框架,我建议放在入口index.php里,以ThinkPHP为例的话是这样:
/**追加部分 **/
header("Content-type:text/html;charset=utf-8");
header("Pragma: public");
header("Expires: ".strtotime("+1 d