Http头304和caching?

我们公司使用这些设置(不要问我为什么) – 对于每个请求,他们都希望从服务器获得新的请求。 这是一个只使用IE的Intranet系统。

他们将其定义在:

在这里输入图像说明

我们在iis7也有Windows身份validationNTLM

我有2个问题,请。

问题#1)

当浏览器发出请求(css)时:

(暂时留下401响应 – 这是ntlm的工作原理) 在这里输入图像说明

他正在请求if-modified-since标题。

他为什么要添加这个头文件? 我如何configuration它? 为什么他不使用IE中的设置,并尝试每次都下载 – 正如我在第一张图片中显示的那样?

问题2)

ntlm谈判之后 )的回应是:

Not-modified响应是304头。 我假设它是因为我们发送了带有if-modified-since标头的请求。

但有一个问题。

他实际上是告诉我从我的caching中下载。

但是我在IE设置中明确告诉他 – 不要从caching中加载。

我在这里错过了什么?

非常感谢。

在这里输入图像说明

Q1

他为什么要添加这个头文件?

因为浏览器已经有一个caching中的内容的副本。 这发生如果

1)已经过期了

2)浏览器已被configuration为每次检查更新的版本

我如何configuration它?

你无法做任何事情(1) – 这就是HTTP的工作原理。 对于(2),更改configuration选中“自动”

Q2

但是我在IE设置中明确告诉他 – 不要从caching中加载。

否 – 对浏览器的指令是检查更新的版本 – 如果请求的条件部分匹配,Web服务器将只返回一个新的版本(200响应)。

你所要求的设置是一个非常糟糕的主意。 如果你真的推出这一切,一切似乎加载速度较慢。 你连接的每一台服务器都将被打成碎片。 我不知道你为什么被要求这样做,但是你应该找出原因,这样你才能想出一个合理的解决scheme来解决真正的问题。

另外,你根本无法使用IE浏览器。 它无法完全禁用caching(Temporary Internet Files)的使用。

您可能遇到的一种情况是漫游configuration文件的人拥有大量的IEcaching,最终在networking上被复制。 如果这是真正的问题,那么你可以告诉IE在退出时清空caching 。 至less就IE的caching而言,不会再有大文件的拷贝了。