直接答案:对 25 个首页只读响应头:21 个完全没有 Last-Modified,4 个有且都能解析;这 4 个里 1 个的 Last-Modified 与 Date 完全相同(E04,响应时生成)。ETag 只有 4 个(3 强 1 弱),Cache-Control 17 个、其中 10 个 max-age=0,Age 一个也没有。唯一能与 sitemap lastmod 比较的 E16,同年但不同日。

第 22、24、25 期看的都是页面里的字段:版权、lastmod、页面日期、JSON-LD。这一期换一条独立线索——服务器在响应头里给的日期。它不由模板决定,但也未必对应内容更新时间。

25
首页全部 200
21
无 Last-Modified
4
有 Last-Modified
1
等于响应时间
4
有 ETag
0
有 Age 头

方法:robots 前置,只读头

沿用第 4 期 25 个首页 URL。每站先取 robots.txt,按 LingyiResearchBot 判定后,对首页发一次普通 GET,只记录状态与响应头,不保存正文。非 200 重试最多 3 次,全局间隔 5 秒,超时 20 秒,不执行 JS、不登录、不提交表单。日期头按 HTTP-date 解析;asctime 无时区时按 UTC 处理。

字段判定
Last-Modified缺失 / 有值但不可解析 / 可解析,三态分开记
“响应时生成”Last-Modified 与 Date 相差 ≤5 秒
ETagW/ 前缀记弱,其余记强
Cache-Control取 max-age / s-maxage;no-store / no-cache 记 0

结果:日期头比页面字段更少

响应头站点数(25)说明
Last-Modified 可解析42026 年 3 个、2025 年 1 个
Last-Modified 缺失21没有任何日期头
Last-Modified 不可解析0—
Last-Modified = Date1E04,响应时生成
ETag 强 / 弱3 / 1其余 21 个没有 ETag
Cache-Control17其中 max-age=0 10 个
Age0没有站点返回缓存年龄

4 个有日期的页面,各不相同

sample_idLast-Modified与 Date 相差页脚版权sitemap lastmod
E042026-11-02 06:400 秒无无
E272026-11-02 06:17约 27 分钟无无
E302026-06-12 08:37约 143 天2002无
E162025-11-02 01:11约 365 天无2025-10-14(同年不同日)

时间均为响应头原值(GMT);“与 Date 相差”按同一响应的 Date 计算。

四种情况对应四种不同解释:E04 的头部随响应生成,不能当内容日期;E27 比响应时间早 27 分钟,可能是缓存或定时任务;E30 停在 6 月,而页脚写 2002,两个字段都不适合单独作为更新证据;E16 与 sitemap 同年但不同日,说明两条链路的日期没有对齐。

为什么首页普遍没有 Last-Modified

  • 动态渲染:首页由程序实时拼装,服务器没有天然的文件修改时间。
  • CDN / 反向代理:头部可能被重写或剥离,源站有也不一定传到客户端。
  • 缓存策略:17 个站点给了 Cache-Control,10 个直接 max-age=0,说明它们更在意“不要缓存”而不是“何时改过”。
  • 没有约定:Last-Modified 是可选头,不是必填。

所以“没有 Last-Modified”既不能说明站点不更新,也不能说明服务器不维护;它只说明这次响应没有提供这个字段。

对验收的启示

  1. 把响应头当作独立证据源。 与页面字段分开记录,不互相替代。
  2. 先看 Last-Modified 是否等于 Date。 相等时它是响应时间,不是内容时间。
  3. 跨来源日期要同口径比较。 HTTP 头用 GMT,sitemap 用 ISO;不同日不代表冲突,先确认时区与格式。
  4. 缺头不是缺陷结论。 动态首页没有该头很常见,验收应写“无此字段”,而不是“未更新”。
  5. 缓存头单独看。 max-age=0 只说明缓存策略,不说明内容新鲜度。

局限

  • 单次请求:CDN 节点、缓存命中与回源都会影响头部。
  • 只看首页:文章页、静态资源可能完全不同。
  • 头部可被重写:不能从客户端头部反推源站配置。
  • 可比样本极少:只有 1 个站点同时有 Last-Modified 与 sitemap lastmod。
  • 25 家 pilot:不外推行业总体,也不评价站点质量。

数据与复算

匿名数据:equipment-http-date-headers-2026.csv(25 行:sample_id、状态、Last-Modified 三态与值、Date、是否响应时生成、ETag 强弱、缓存头、Age、与 sitemap/版权的比较)。仓库内为 docs/research/2026-11-http-date-headers.csv。

解析逻辑:scripts/http_date_probe.py;单元测试 scripts/test_http_date_probe.py(14 项,无网络)。运行:

python -m unittest scripts.test_http_date_probe

配套:更新日期字段 pilot(JSON-LD / meta / time / 可见文字)、新鲜度信号 pilot(版权 / lastmod / 页面日期)、约 1 天复测(字段稳定性)、五源对照(25 站年份矩阵)。

数据来源与口径

  1. RFC 9110:Last-Modified、Date、ETag 与条件请求:rfc-editor.org。
  2. Cache-Control 指令:RFC 9111。
  3. 采样:2026-11-02 14:41–14:46(Asia/Shanghai),UA LingyiResearchBot/1.0,请求间隔 5 秒。
关于作者

凌壹信息Official(交付团队),负责企业网站、品牌与智能制造项目的需求梳理、方案与验收协作。本文只记录单次响应的头部字段,不构成对任何站点维护状态、排名或流量的判断;25 家 pilot,不外推行业。

把响应头当成第五条证据线

页面字段、结构化日期、sitemap、响应头分开记录;日期先看时区与格式,再看是否等于响应时间。

预约复测方案