fiddler抓包分析http code之304

版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则会用法律维权。 https://blog.csdn.net/stpeace/article/details/80716036

     之前说过形形色色的http code,  今天来看下304.

     我在网上找了一张杨澜的图片, 为什么是她呢? 因为我随便找的。 

     该图片的链接地址:http://g.hiphotos.baidu.com/baike/pic/item/29381f30e924b899b743be4f62061d950a7bf64e.jpg

     

     浏览器访问图片,用fiddler抓包, 发现返回200, 然后f5刷新, 返回304, 最后ctrl + f5强制刷新,返回200.

     且可以看到, 返回304时, body测长度为0,  为什么会这样? 来看看304的作用:

     

304 Not Modified 

Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.


简要分析一下:

第一次访问时候, 本地没有图片的缓存, 所以需要完整返回图片内容, 且有一个时间字段:Last-Modified: Sun, 01 Apr 2018 01:30:37 GMT


第二次再访问的时候, 请求中会有:If-Modified-Since: Sun, 01 Apr 2018 01:30:37 GMT , 浏览器的请求发送到服务器后, 服务器发现资源并没有变化, 所以无需重复传递图片内容, 只需给个not modified的状态码即可, 也就是304.


第三次访问, 强制刷新, 请求中是不会携带If-Modified-Since: Sun, 01 Apr 2018 01:30:37 GMT的, 所以服务端认为这是一个新的请求,需要返回图片的完整内容。



好了, 不多说。




阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页