http 条件请求

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
      断点续传,如果响应的数据未改变,服务器发送客户端丢失的部分,否则发送整个数据。
posted @ 2017-07-03 21:14  韶华不停留  阅读(445)  评论(0编辑  收藏  举报