{site_name}

{site_name}

🌜 搜索

If-Modified-Since 是HTTP协议中的一个请求头部字段,它用于条件请求

前端 𝄐 0
If-Modified-Since 是HTTP协议中的一个请求头部字段,它用于条件请求。当浏览器向服务器发送请求时,包含了该字段并指定一个日期,如果该日期晚于资源的修改时间,则服务器会返回状态码为304 Not Modified的响应,告诉浏览器可以直接使用本地缓存的资源,从而减少不必要的网络传输和服务器负担。

具体而言,浏览器首先会将资源的最后修改时间通过 If-Modified-Since 请求头部字段发送给服务器,例如:


GET /example.html HTTP/1.1
Host: www.example.com
If-Modified-Since: Sat, 19 Sep 2020 20:00:00 GMT


如果该资源在这个日期之后有过修改,则服务器会返回资源的新版本,例如:


HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Last-Modified: Sun, 01 Aug 2021 22:00:00 GMT
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>


如果该资源在这个日期之前没有过修改,则服务器会返回 304 Not Modified 状态码,告诉浏览器直接使用本地缓存的资源,例如:


HTTP/1.1 304 Not Modified
Last-Modified: Sun, 01 Aug 2021 22:00:00 GMT