当客户端向服务端发送HTTP请求时,如果服务端返回状态码为304 Not Modified,则表明此次请求为条件请求。这意味着客户端已经缓存了该资源,并且该资源未被修改。在请求头中,客户端会发送两个请求参数:If-Modified-Since和If-None-Match。服务端会比较这两个参数与资源的最后修改时间和ETag值,如果匹配,则返回304状态码,否则返回200状态码和新的资源内容。
举个例子,如果客户端已经缓存了一个网页,当用户再次访问该网页时,客户端会向服务端发送一个条件请求,请求头中包含If-Modified-Since和If-None-Match参数。如果服务端检测到该网页未被修改,则返回304状态码,客户端会使用缓存中的资源,否则返回200状态码和新的网页内容。