我没有favicon.ico,但IE总是提出请求。
是否可以阻止浏览器从我的网站请求favicon? 也许HTML标题中有一些META-TAG?
#1楼
你不能。 您所能做的就是使该图像尽可能小,并在将来设置一些缓存失效标头( Expires
, Cache-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">
有关参考,请参阅此处
- https://github.com/h5bp/html5-boilerplate/issues/1103
- https://twitter.com/diegoperini/status/4882543836930048
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="#"
就是这种情况)
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3160827