接触HTTP/1.1的时日还不多, 有时候看着这两个参数老是有点混淆, 今天终于理清了, 现记录下.
初学网络, 若有理解不对, 还请拍砖.
If-Modified-Since:
从字面上看, 就是说: 如果从某个时间点算起, 如果文件被修改了....
1. 如果真的被修改: 那么就开始传输, 服务器返回:200 OK
2. 如果没有被修改: 那么就无需传输, 服务器返回: 403 Not Modified.
用途:
客户端尝试下载最新版本的文件. 比如网页刷新, 加载大图的时候.
很明显: 如果从图片下载以后都没有再被修改, 当然就没必要重新下载了!
If-Unmodified-Since:
从字面上看, 意思是: 如果从某个时间点算起, 文件没有被修改.....
1. 如果没有被修改: 则开始`继续'传送文件: 服务器返回: 200 OK
2. 如果文件被修改: 则不传输, 服务器返回: 412 Precondition failed (预处理错误)
用途:
断点续传(一般会指定Range参数). 要想断点续传, 那么文件就一定不能被修改, 否则就不是同一个文件了, 断续还有啥意义?
总之一句话: 一个是修改了才下载, 一个是没修改才下载.
女孩不哭 @ cnblogs.com/memset @ 2014.11.10