如何防止favicon.ico请求?

你。 提交于 2020-02-27 03:29:30

我没有favicon.ico,但IE总是提出请求。

是否可以阻止浏览器从我的网站请求favicon? 也许HTML标题中有一些META-TAG?


#1楼

你不能。 您所能做的就是使该图像尽可能小,并在将来设置一些缓存失效标头( ExpiresCache-Control )。 这就是雅虎! 不得不说有关favicon.ico的请求。


#2楼

我首先要说的是,在网页中使用favicon是一件好事(通常)。

然而,并不总是需要它,有时开发人员需要一种方法来避免额外的有效载荷。 例如,IFRAME会在不显示的情况下请求图标。 最糟糕的是,在Chrome和Android中,IFRAME会产生3个关于favicon的请求:

"GET /favicon.ico HTTP/1.1" 404 183
"GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 197
"GET /apple-touch-icon.png HTTP/1.1" 404 189

以下使用数据URI,可用于避免假的favicon请求:

<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> 

有关参考,请参阅此处

Chrome bug /行为可能会在即将推出的版本中修复。

以下是您投票的错误提交:

更新1:

从评论(jpic)看起来好像Firefox> = 25不再喜欢上面的语法了。 我在Firefox 27上进行了测试,但它仍然可以在Webkit / Chrome上运行。

所以这里应该涵盖所有最近的浏览器。 我测试了Safari,Chrome和Firefox:

<link rel="icon" href="data:;base64,=">

我从“rel”属性值中省略了“快捷方式”名称,因为这仅适用于较旧的IE,IE <8的版本也不喜欢dataURI。 没有在IE8上测试过。

更新2:

如果您需要对HTML5进行验证,请使用以下内容:

<link rel="icon" href="data:;base64,iVBORw0KGgo=">

#3楼

一个非常简单的解决方案是将以下代码放在.htaccess 。 我有同样的问题,它解决了我的问题。

<IfModule mod_alias.c>
    RedirectMatch 403 favicon.ico
</IfModule>

参考: http//perishablepress.com/block-favicon-url-404-requests/


#4楼

根据我们的经验,随着Apache在favicon.ico的请求下失败,我们在.htaccess文件中注释掉了额外的标头。

例如,我们将Header设置为X-XSS-Protection“1; mode = block”

...但我们忘记事先sudo a2enmod标题。 评论发送的额外标题解决了我们的favicon.ico问题。

我们还设置了几个用于开发的虚拟主机,并且在使用http:// localhost和fetching /favicon.ico时仅使用500内部服务器错误失败。 如果您运行“curl -v http://localhost/favicon.ico ”并获得有关主机名不在解析程序缓存中的警告或类似的问题,则可能会遇到问题。

它可能就像没有提取一样简单(我们尝试了它并且它不起作用,因为我们的根本原因是不同的)或者在apache2.conf或.htaccess中查找可能导致奇怪的500内部服务器错误消息的指令。

我们发现它失败的速度很快,在Apache的错误日志中没有任何用处,花了一整个上午在这里和那里改变小东西,直到我们解决了在忘记加载mod_headers时设置额外标题的问题!


#5楼

只需将以下行添加到HTML文件的<head>部分:

<link rel="icon" href="data:,">

该解决方案的特点:

  • 100%有效的HTML5
  • 很短
  • 不会引起IE 8及更早版本的任何怪癖
  • 不会使浏览器将当前的HTML代码解释为favicon( href="#"就是这种情况)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!