我知道有一个解决方案可以阻止 mvc 框架处理“favicon.ico”请求(解决方案),但我不知道为什么它首先要寻找这个图标。
我使用“文件”>“整个解决方案”中的“查找”进行搜索favicon.ico
,但没有找到任何内容。
我在网站的html源代码中搜索favicon.ico
,没有找到任何东西。
它在哪里?为什么浏览器试图为它服务?
我知道有一个解决方案可以阻止 mvc 框架处理“favicon.ico”请求(解决方案),但我不知道为什么它首先要寻找这个图标。
我使用“文件”>“整个解决方案”中的“查找”进行搜索favicon.ico
,但没有找到任何内容。
我在网站的html源代码中搜索favicon.ico
,没有找到任何东西。
它在哪里?为什么浏览器试图为它服务?
favicon.ico 是一种约定- 但它是浏览器获取链接、选项卡等图像的一种方式:
请注意,现在,图像位置也可以在元数据中设置(这很方便,因为它允许图像是按页面而不是按域,和/或允许从不同的位置提供图像,例如 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”是后备的,并且被许多旧浏览器使用 - 或者没有指定明确的快捷方式图标。
基本上:去创造一个。
你最好有一个,因为它是大多数浏览器的标准来寻找 favicon.ico 但是如果你真的不想拥有它并摆脱错误,只需在 RegisterRoutes 类中添加这一行。
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
默认情况下,某些浏览器只会在您网站的根目录中查找 favicon.ico。
我认为阻止浏览器查找此文件的最简单方法是提供一次图像,然后浏览器将缓存它并停止询问。
浏览器要求将其设置为页面的图标,位于标题旁边(在标题栏、选项卡、书签菜单中)。