{site_name}

{site_name}

🌜 搜索

HTTP中的304 Not Modified是一种服务器响应代码,它表示客户端请

前端 𝄐 0
HTTP中的304 Not Modified是一种服务器响应代码,它表示客户端请求的资源自上次请求后未被修改,因此服务器不会返回资源的实际内容,而是告诉客户端继续使用其本地缓存的副本。

当客户端发起GET请求时,服务器会检查资源的修改时间(通过If-Modified-Since头部字段)与当前请求的时间是否一致。如果没有进行任何修改,则服务器将返回304 Not Modified响应,通知客户端使用其缓存的版本,从而减少网络流量和提高性能。

例如,假设客户端首先发送一个GET请求:

GET /index.html HTTP/1.1
Host: www.example.com


服务器会返回资源的完整内容,并在响应头中包含Last-Modified时间戳:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
Last-Modified: Wed, 24 Apr 2023 01:23:45 GMT

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>


下一次客户端发出GET请求时,可以添加If-Modified-Since头部字段,以便服务器检查资源是否已更新:

GET /index.html HTTP/1.1
Host: www.example.com
If-Modified-Since: Wed, 24 Apr 2023 01:23:45 GMT


如果该资源没有被修改,则服务器将返回304 Not Modified响应,而不是资源的实际内容:

HTTP/1.1 304 Not Modified
Last-Modified: Wed, 24 Apr 2023 01:23:45 GMT