当我从ASP.NET MVC提供文件时,为什么Chrome会搜索我的favicon.ico?

jos*_*ley 14 favicon asp.net-mvc

我在MVC中有一个控制器,用于提供数据库中的图像.

编辑:如果我在MVC中通过完全标准的方式提供文件,这仍然会发生.

每当我请求我的图片时,Google Chrome也会搜索我的favicon.ico.

为了避免对其他事情进行不必要的讨论"我也应该关心"让我们假设我不关心在这个例子中的任何缓存,我将始终返回带有该文件的HTTP响应200.

在我的控制器中,我返回以下内容:

return File(fileBytes, contentType);
Run Code Online (Sandbox Code Playgroud)

检查Fiddler 2后,会生成以下响应:

HTTP/1.1 200 OK
Cache-Control:public
Content-Type:image/gif
ETag:oYu19wKo + KEHkyxZQ2WXAA ==
服务器:Microsoft-IIS/7.0
X-AspNetMvc-版本:1.0
X-AspNet-Version:2.0.50727
X-Powered -By:ASP.NET
日期:星期二,2009年6月16日18:48:45 GMT
内容长度:29344

相比之下,当我(首次)请求Google徽标时,这是来自Google的Fiddler的回复:

HTTP/1.1 200 OK
Content-Type:image/gif
Last-Modified:Wed,07 Jun 2006 19:42:34 GMT
Date:Tue,16 Jun 2009 18:50:54 GMT
Expires:Wed,16 Jun 2010 18:50 :54 GMT
Cache-Control:public,max-age = 31536000
服务器:gws
内容长度:8706
年龄:2

但是,在获取我的图片后Chrome中,Chrome会尝试找到我的favicon.ico.它并没有要求谷歌标志后,试试这个.

任何想法为什么会这样?根据我对HTML的理解,答案必须在响应头中,因为肯定这是客户端必须继续进行的所有操作?请指正!

编辑2:似乎很多人完全误解了这个问题.问题在于缺少图标和MVC中的错误请求 - 这是在仅加载图像时请求图标的问题,内容类型为"IMAGE/JPEG",而不是具有内容的网页类型"文字/ HTML"!!

Tom*_*dia 7

这与MVC无关.我正在使用带有自定义构建的日志服务的webforms,我偶然发现这个帖子,想知道为什么我的日志中存在连续的"文件不存在"错误.这是我的开发机器本地,我的项目中没有favicon.ico文件,我试过IE,Firefox和谷歌试图查看哪个浏览器是有罪的一方.

Google Chrome浏览器向我的应用发出的每个请求都会请求favicon.ico.我必须在本地开始记录浏览器,以确定它实际上是googles浏览器,这是罪魁祸首.如果它困扰你我会联系谷歌.我只是想确保它不是一些感染我的chrome的新木马.


Noy*_*oyo 5

实际答案:这是一个已知的,经过验证的错误。*(最近已修复!...也许吗?)

Chrome似乎是一个已知的长期存在的问题:http : //crbug.com/39402

如果您希望尽快解决此问题,请为该问题加注星标。引起更多人关注的问题可能会增加其优先级,并可能更快地解决该问题。


****更新1 ***:截至今年(2013年)5月15日-提出此问题已有四年时间-看来该问题已在版本29中得到解决:http : //crbug.com / 39402#c47

随时撤消所有黑客和变通办法。:]

****更新2(2015-01)***:根据同一问题链接,对于某些用户来说,这显然仍然是一个问题。:/