我没有一个favicon.ico文件,但是我的浏览器总是请求它。
有没有可能阻止浏览器从我的网站请求这个favicon?也许在HTML头部中使用一些META-TAG可以实现吗?
我没有一个favicon.ico文件,但是我的浏览器总是请求它。
有没有可能阻止浏览器从我的网站请求这个favicon?也许在HTML头部中使用一些META-TAG可以实现吗?
首先我要说的是,在网页中有一个favicon是一件好事(通常情况下)。
然而,并不总是需要它,有时开发人员需要避免额外的负荷。例如,一个IFRAME可能会请求一个favicon却不显示它。 更糟糕的是,在Chrome和Android中,一个IFRAME将为favicon生成3个请求:
"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,可用于避免虚假的网站图标请求:<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
参考文献请见这里:
更新1:
从评论(jpic)中可以看出,Firefox >= 25 不再支持上述语法。我在 Firefox 27 上测试了一下,它不能工作,而在 Webkit/Chrome 上仍然可以。因此,这是一个新的语法,应该覆盖所有最近的浏览器。我测试了 Safari、Chrome 和 Firefox:
<link rel="icon" href="data:;base64,=">
由于这只是适用于较旧版本的IE,所以我从“rel”属性值中省略了“shortcut”名称,并且低于IE8的版本也不支持dataURIs。没有在IE8上测试。
更新2:
如果您需要使您的文档符合HTML5标准,请使用以下内容代替:
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
似乎解决了该问题。 - Alkodata:image/png;base64,iVBORw0KGgo=
,将其保存为favicon.ico
,也就是指空PNG文件,并存储在网站根目录下。对吗? - Martin<head>
。<link rel="icon" href="data:,">
此解决方案的特点:
href="#"
的情况)此解决方案的缺点:
您可以在<head>
元素中使用以下HTML:
<link rel="shortcut icon" href="#" />
我在强制进行完全刷新的情况下进行了测试,但是在 Fiddler 中没有看到任何 favicon 请求。(在 IE8 兼容模式下作为 IE7 标准和 FF 3.6 进行测试)
注意: 这可能会导致 HTML 文件被下载两次,所以虽然它可以隐藏错误,但会带来一定的代价。
about:blank
代替。 - mems您无法做到这一点。您可以尽可能将该图像缩小,并设置一些缓存失效头(Expires
,Cache-Control
),以便远期使用。以下是雅虎对于 favicon.ico 请求的建议。
点击此处查看。
如果您使用 nginx
# skip favicon.ico
#
location = /favicon.ico {
access_log off;
return 204;
}
为了测试目的,最简单的临时阻止这些内容的方法是在Chrome中右键单击页面上的任何位置并单击检查,或者按Ctrl+Shift+j
,然后转到网络选项卡,重新加载页面将发送您的页面应该进行的所有请求,包括那个讨厌的favicon.ico。现在,您可以右键单击favicon.ico请求并单击“阻止请求URL”。
<link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC">
这个回答比其他回答稍微长一些,但是它包含了一个真正有效的PNG图片(1x1像素白色)。
Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
<Files favicon.ico>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</Files>
</Directory>
如果您使用别名(alias),那么一个单独的favicon.ico文件就可以适用于所有虚拟主机站点。用户访问后,浏览器缓存中会保存该文件长达一个月。
对于.htaccess文件,据报道以下方法可行(未经本人验证):
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"
.htaccess
文件中。我曾经遇到过相同的问题,它解决了我的问题。<IfModule mod_alias.c>
RedirectMatch 403 favicon.ico
</IfModule>
参考链接:http://perishablepress.com/block-favicon-url-404-requests/
本文介绍了如何通过添加htaccess规则来阻止网站收到关于favicon.ico文件的404请求。这些请求会降低网站的性能,并且可能会被黑客利用。采用本文所述方法可提高网站的安全性和效率。只需使用以下简单方法:
<link rel="shortcut icon" href="#" type="image/x-icon">
它什么也没显示!!!