目的:允许缓存新闻内容,利用更新时间,过期时间,和最后修改时间,加快浏览新闻内容的速度,为搜索引擎的收录增加可能性(因为搜索引擎相对拒绝收录动态网页信息和过多GET参数的网页)
关键字:获取 WEB服务器 头信息 缓存新闻页面 加快浏览速度 为搜索引擎设计的新闻页面
在返回内容之前,返回一些头信息,替代PHP默认返回的不缓存的信息,模拟一个静态的网页信息
遗留问题:应该增加一个lasmodify字段,来处理新闻修改的问题;
PHP代码:
$ExpDate = gmdate ("D, d M Y H:i:s", $dateline + 3600 * 24 * 15 ); // 设置15天过期
header("Expires: $ExpDate GMT"); // Date in the past
header("Last-Modified: " . gmdate ("D, d M Y H:i:s", $dateline) . " GMT"); // always modified
header("Cache-Control: public"); // HTTP/1.1
//header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: Pragma"); // HTTP/1.0
参考:
- 车东的基于反向代理的Web缓存加速
- RFC 2616:
- section
13 (Caching) - section
14.9 (Cache-Control header) - section
14.21 (Expires header) - section
14.32 (Pragma: no-cache) is important if you are interacting with
HTTP/1.0 caches - section
14.29 (Last-Modified) is the most common validation method - section
3.11 (Entity Tags) covers the extra validation method