问题描述
我试图弄清楚为什么当执行If-Modified-Since时imageresizer返回“ HTTP / 1.1 200 OK”而不是“ HTTP / 1.1 304 Not Modified”状态代码,与没有imageresizer的请求相反,该请求返回“ HTTP” /1.1 304未修改”。
我仅将IIS与imageresizer调整大小模块一起使用,命令语法如下:
curl -I --header'If-Modified-Since:DATE-FORMAT-HERE'http://x.x.x/x.jpg
谢谢, 雅伦
解决方法
如果安装了DiskCache插件,则将提供修改日期,但是实际提供的缓存文件将委派给StaticFileModule或下一个处理请求的HttpModule。 ImageResizer本身不处理服务。做出此决定是为了优化请求吞吐量,因为StaticFileModule使用IIS的本机代码来提供文件,并且经过了高度优化。令人惊讶的是,它不接受if-modified-Since请求。
在Imageflow.NET服务器中,我们处理服务,因此我们可以添加对此类请求的支持。我们已经支持ETag和If-None-Match,它比If-Modified-Since更加精确和可靠。您确定不能使用更新的Imageflow.NET服务器吗?