http 304和404之间有任何性能差异吗?

时间:2011-05-30 16:57:56

标签: asp.net performance http iis-7.5

我们有一个没有收藏夹图标的网站。

因此,文件favicon.ico会收到很多http 404错误。

对于网站的功能,它没有什么区别。

但我想知道系统是否会花更多时间寻找不存在的文件,而不是返回未修改的304?

在最大负荷下,我们有大约。所有前端服务器上的15,000个并发连接。

2 个答案:

答案 0 :(得分:8)

不,性能差异微不足道 - 如果你不想要一个图标,我建议创建一个0字节/favicon.ico:日志会停止抱怨,浏览器会表现得好像没有图标。

此外,您可以为您的favicon设置far future Expires header - 这样,客户端只会请求一次,从而进一步降低负载。

答案 1 :(得分:3)

就请求在服务器上造成的负载而言,没有区别。 就网络带宽而言,有效的304响应会更大一些,因为您还必须在响应中包含至少一个Date和Expires或ETag标头。

如果想要发送没有内容的回复,那么我认为204 No Content更合适。

如果您完全确定该网站永远不会有图标,您可以使用410 Gone响应。这告诉客户端/浏览器不要再回来再问。它也更可能由代理服务器缓存而不是404。