博客园的RSS请求不支持Last-Modified
今天在测试读取RSS时,使用到自己在博客园的RSS链接来做测试,发现使用Last-Modified方式优化时,RSS每次返回都会更新Last-Modified。
以下是用Fiddler对几次请求的截获结果:
第一次请求,客户端不会添加头If-Modified-Since头,这是肯定的。
服务器端返回了Last-Modified,并且响应代码是200,这样客户端可以在下次请求中使用。
第二次请求,客户端根据上次请求返回的Last-Modified,添加If-Modified-Since头。
服务器返回结果并不是我们预料中的304,却依然是200,也就是说全部内容又重新下载了一遍,If-Modified-Since请求头并未起作用。原因是什么?看看服务器返回的Last-Modified就知道,RSS内容并未更新,长度还是67672,本应该Last-Modified与第一次的Last-Modified相等才对的。
再进行一次测试:
结果和上面一样,Last-Modified有变化了。
呵呵,Last-Modified得到支持,将会为我们双方都节省许多带宽的。与Last-Modified类似的,就是Etag头。想详细了解什么是Last-Modified和Etag,可参考:如何利用客户端缓存对网站进行优化?