HTTP/1.1 中 If-Modified-Since 和 If-Unmodified-Since 区别简记

    接触HTTP/1.1的时日还不多, 有时候看着这两个参数老是有点混淆, 今天终于理清了, 现记录下.
    初学网络, 若有理解不对, 还请拍砖.

If-Modified-Since:

     从字面上看, 就是说: 如果从某个时间点算起, 如果文件被修改了....
            1. 如果真的被修改: 那么就开始传输, 服务器返回:200 OK
            2. 如果没有被修改: 那么就无需传输, 服务器返回: 304 Not Modified.

     用途:

             客户端尝试下载最新版本的文件. 比如网页刷新, 加载大图的时候.
             很明显: 如果从图片下载以后都没有再被修改, 当然就没必要重新下载了!

If-Unmodified-Since:

     从字面上看, 意思是: 如果从某个时间点算起, 文件没有被修改.....
            1. 如果没有被修改: 则开始`继续'传送文件: 服务器返回: 200 OK
            2. 如果文件被修改: 则不传输, 服务器返回: 412 Precondition failed (预处理错误)

     用途:

            断点续传(一般会指定Range参数). 要想断点续传, 那么文件就一定不能被修改, 否则就不是同一个文件了, 断续还有啥意义?

 

总之一句话: 一个是修改了才下载, 一个是没修改才下载.

女孩不哭 @ cnblogs.com/memset @ 2014.11.10

 

posted @ 2014-11-10 15:11  女孩不哭  阅读(4321)  评论(2编辑  收藏  举报