imageresizer if-modified-since 支持

Posted

技术标签:

【中文标题】imageresizer if-modified-since 支持【英文标题】:imageresizer if-modified-since support 【发布时间】:2020-12-27 12:37:47 【问题描述】:

我试图弄清楚为什么 imageresizer 在执行 If-Modified-Since 时返回“HTTP/1.1 200 OK”而不是“HTTP/1.1 304 Not Modified”状态代码,与没有返回“HTTP”的 imageresizer 的请求相反/1.1 304 Not Modified”作为例外。

我只使用带有 imageresizer 大小调整模块的 IIS,命令语法如下:

curl -I --header 'If-Modified-Since: DATE-FORMAT-HERE' http://x.x.x/x.jpg

谢谢, 亚龙

【问题讨论】:

您可以尝试使用failed request tracking查看日志文件中是否有关于If-Modified-Since: DATE-FORMAT-HERE的错误信息。 你安装了DiskCache插件吗? 【参考方案1】:

如果您安装了 DiskCache 插件,则将提供修改日期,但缓存文件的实际服务将委托给 StaticFileModule 或下一个处理请求的 HttpModule。 ImageResizer 本身不处理服务。这个决定是为了优化请求吞吐量,因为 StaticFileModule 使用 IIS 的本机代码来提供文件并且经过高度优化。令人惊讶的是它不支持 if-modified-since 请求。

在 Imageflow.NET Server 中,我们处理服务,因此我们可以添加对这些类型的请求的支持。我们已经支持 ETags 和 If-None-Match,它比 If-Modified-Since 更精确和可靠。您确定不能改用较新的 Imageflow.NET 服务器吗?

【讨论】:

嗨 Lilith,Imageflow.NET 服务器是否支持 If-Modified-Since? 它支持 If-None-Match,所以 If-Modified-Since 是多余的。

以上是关于imageresizer if-modified-since 支持的主要内容,如果未能解决你的问题,请参考以下文章

ImageResizer 诊断插件 (resizer.debug)

imageresizer if-modified-since 支持

ImageResizer - 将图像保存为更大尺寸

text ImageResizer 4.2.5的诊断。

text ImageResizer Web.Config条目

text ImageResizer诊断输出