304状态码: 客户端有缓存情况下服务端的一种响应。
自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。服务器可以告诉 Googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。
将域名指向github pages以后,加载主页会出现Status code为304的情况
模拟访问过程
-
首次访问
200 -
按
F5刷新(第二次访问)304 -
Ctrl + F5强制刷新200 -
Fiddler查看请求的过程 -
eg: 访问地址
https://home-link.cc/
首次访问200
再次访问304
对比两次请求request headers中的信息
- 首次加载
Cache-Control: no-cache
Pragma: no-cache
- 第二次刷新
Cache-Control: max-age=0
If-Modified-Since: Mon, 07 Feb 2022 09:39:52 GMT
If-None-Match: W/"6200e8e8-a16"
首次加载的时候请求头中包含
Pragma: no-cache, 再次加载的时候请求头增加了If-Modified-Since,If-None-Match
参考文章 HTTP 304状态码的详细讲解