本文共 819 字,大约阅读时间需要 2 分钟。
http的条件请求
if-modified-since/if-unmodified-since/if-none-match/if-match/if-range
-
- if-modified-since 是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间(last-modified)一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。 如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。 如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。
-
- if-unmodified-since 在发送HTTP请求时,把浏览器端缓存页面的最后修改时间(last-modified)一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。 如果时间一致,就返回HTTP状态码200,开始传送文件 如果时间一致,则返回412 Precondition failed (预处理错误)
- if-none-match 在发送HTTP请求时,服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 如果Etag相同,则返回304 如果Etag不同,响应200,返回请求文件
- if-match 在发送HTTP请求时,服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 如果Etag相同,则响应200,返回请求文件 如果Etag不同,那么需要返回 416 (Range Not Satisfiable,范围请求无法满足)
- if-range 断点续传,如果响应的数据未改变,服务器发送客户端丢失的部分,否则发送整个数据。
转载于:https://www.cnblogs.com/liyongchao-0508/p/7113073.html