请澄清这个奇怪的事情If-Modified-Since
IE9 传递的标头
在我的 ASP.NET 4.0 Web 应用程序中,我有一个通用处理程序 (.ashx),它为存储在数据库中的图像提供服务。为了提高效率,我正在处理一些与缓存相关的标头并传递缓存信息。
我在尝试解析时经常遇到 DateTime 解析错误If-Modified-Since
标头内容,通常来自 IE9。结果它发送的是这样的东西:
2011 年 11 月 28 日星期一 16:34:52 GMT;长度=8799
我通过使用正则表达式来删除最后一部分来处理这个问题。但我很好奇:它指的是多长,有什么用?是请求的 URL 的缓存数据的大小吗?
根据一个old post http://www.squid-cache.org/mail-archive/squid-users/200307/0122.html在 Squid 代理邮件列表上:
If-Modified-Since 的长度参数是 Netscape 的扩展
HTTP/1.0,旨在提高 If-Modified-Since 的准确性,以防万一
文档在同一秒内更新两次。
HTTP/1.1 解决了
通过 ETag 标头和 If-None-Match 以更好的方式解决同样的问题。
我猜测 IE 在某个时候调整了这个扩展并保留了它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)