【发布时间】:2012-09-19 13:16:13
【问题描述】:
请澄清 IE9 传递的这个奇怪的 If-Modified-Since 标头
在我的 ASP.NET 4.0 Web 应用程序中,我有一个通用处理程序 (.ashx),它为存储在数据库中的图像提供服务。为了效率,我正在处理一些与缓存相关的标头并传递缓存信息。
我在尝试解析 If-Modified-Since 标头内容时经常遇到 DateTime 解析错误,通常来自 IE9。原来它正在发送这样的东西:
格林威治标准时间 2011 年 11 月 28 日星期一 16:34:52;长度=8799
我通过使用正则表达式去除最后一部分来处理这个问题。但我很好奇:它指的是什么长度,它有什么用?是请求的 URL 的缓存数据的大小吗?
【问题讨论】:
-
我有点困惑。听起来您说 IE9 正在发送
Last-Modified标头,但客户端通常没有任何理由发送该标头。这是 Web 服务器应发送给客户端的标头。在任何情况下,根据HTTP protocol specification,“;长度=8799”不应该是该标头的一部分,所以我认为有一些行为不端的代码错误地将其设置在某处。 -
对不起。这是
If-Modified-Since标头。我会纠正这个问题。哦!
标签: asp.net http caching internet-explorer-9 last-modified