Asp.net Mvc:为什么浏览器在寻找favicon.ico

时间:2013-10-29 08:33:34

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我知道有一个解决方案可以阻止mvc框架处理“favicon.ico”请求(solution),但我不知道为什么它首先要查找这个图标。

我使用文件中的查找>进行搜索favicon.ico的整个解决方案,但未找到任何内容。

我搜索了favicon.ico网站的html源代码,但没有找到任何内容。

它在哪里?为什么浏览器试图提供它?

4 个答案:

答案 0 :(得分:12)

favicon.ico是约定 - 但是一种方式,浏览器可以获取链接,标签等图像:

enter image description here

请注意,目前,图片位置也可以在元数据中设置(这是方便的,因为它允许图片是每页而不是每个域,和/或允许从不同的位置提供服务,例如作为CDN):

<link rel="shortcut icon" href="//cdn.sstatic.net/stackoverflow/img/favicon.ico">
<link rel="apple-touch-icon image_src" href="//cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png">

但是,“/ favicon.ico”是后备版,并且被许多旧浏览器使用 - 或者没有指定明确的快捷方式图标。

基本上:去创造一个。

答案 1 :(得分:4)

你最好有一个,因为大多数浏览器都是标准的寻找favicon.ico但是如果你真的不想拥有它并摆脱错误只需在RegisterRoutes类中添加这一行。

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });

答案 2 :(得分:1)

默认情况下,某些浏览器只会在您网站的根目录中查找favicon.ico 我认为停止浏览器查找此文件的最简单方法是提供一次图像,然后浏览器将缓存它并停止询问。

答案 3 :(得分:0)

浏览器要求将其设置为页面的图标,标题旁边(标题栏,标签,书签菜单)。