微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 为什么Chrome在ASP.NET MVC中提供文件时搜索我的favicon.ico?

我有一个控制器在MVC服务从数据库的图像.

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

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

为了避免不必要的讨论其他事情“我也应该关心”,让我们假设我不关心缓存在这个例子,我将永远返回HTTP响应200与该文件.

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

return File(fileBytes,contentType);

检查fiddler 2后,会产生以下响应:

HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/gif
ETag: oYu19wKo+KEHkyxZQ2WXAA==
Server: Microsoft-IIS/7.0
X-AspNetMvc-Version: 1.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Tue,16 Jun 2009 18:48:45 GMT
Content-Length: 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
Server: gws
Content-Length: 8706
Age: 2

但是,在Chrome中找到我的形象之后,Chrome试图找到我的favicon.ico.请求Google徽标后不要尝试.

有什么想法可能会发生吗?从我对HTML的理解,答案必须在响应标题中,因为这是所有的客户端都要继续吗?请纠正我!

编辑2:好像很多人完全误解了这个问题.问题不在于MVC中缺少一个图标和错误的请求 – 这是当一个图像正在加载时请求一个图标的问题,内容类型为“IMAGE / JPEG”,而不是具有内容的网页“TEXT / HTML”的类型!

解决方法

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

Google Chrome对我的应用的每一个请求都会要求一个favicon.ico.我不得不开始在本地记录浏览器,以确定它实际上是谷歌浏览器是罪魁祸首.如果打扰你,我会联系google.我只是想确保它不是一些新的木马感染我的铬.

原文地址:https://www.jb51.cc/aspnet/246621.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐