HTTP状态码304表示“未修改”(Not Modified),这是一种告诉客户端请求的资源自从上次请求后没有发生修改的响应状态码。当客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。
304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。该响应必须包含以下头信息:Date、ETag、Content-Location、Expires、Cache-Control、Vary。当客户端收到304响应后,会从本地缓存中获取资源,而不是从服务器重新下载,这样可以节省网络带宽,并提高加载速度。服务器和客户端必须正确处理和支持条件请求头部(如If-Modified-Since、If-None-Match等),并正确设置资源的缓存策略(如缓存标记、过期时间等),才能实现有效的304响应。
这个状态码的主要作用是减少不必要的网络传输,提高网页加载速度,并且减轻服务器压力。