If-Modified-Since

HTTP请求头的IMS(If-Modified-Since):

  浏览器缓存记录的该文件的最后服务器修改时间。


浏览器发送HTTP请求时,把If-Modified-Since一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。

    • 如果时间一致,那么返回HTTP状态码304(Not Modified),客户端接到之后,直接把本地缓存文件显示到浏览器中。
    • 如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。

 

浏览器第一次访问服务器的文件时。不会携带If-Modified-Since,因为未有本地缓存。

服务器收到请求,开始处理。响应2000,http头有标签:Last-Modified(date),即服务器本地记录的文件最后修改时间。

浏览器收到响应,缓存到本地。

浏览器第二次请求时,携带If-Modified-Since(date),

服务器比较If-Modified-Since(date),是否与服务器本地记录相同。决定返回状态200还是304.

posted @ 2019-07-13 02:06  scmath  阅读(4869)  评论(0编辑  收藏  举报