我没有favicon.ico,但我的浏览器总是发出请求。
是否有可能阻止浏览器从我的网站制作favicon的请求?也许是HTML头中的META-TAG ?
我没有favicon.ico,但我的浏览器总是发出请求。
是否有可能阻止浏览器从我的网站制作favicon的请求?也许是HTML头中的META-TAG ?
当前回答
有时,当HTML有一些注释代码,浏览器试图寻找一些东西时,就会出现这种错误。就像在我的情况下,我在烧瓶中注释了一个网页表单的代码,我得到了这个。
在花了2个小时后,我用以下方法修复了它:
1)我创建了一个新的python环境,然后它在注释的HTML行上抛出了一个错误,在此之前,我只抛出了错误'GET /favicon.ico HTTP/1.1" 404'
2)有时,当我有一个重复的代码,像python文件存在同名,然后我也看到了这个错误,尝试删除这些
其他回答
根据我们的经验,当Apache在请求favicon.ico时崩溃时,我们注释掉了.htaccess文件中的额外头文件。
例如,我们有 报头设置X-XSS-Protection "1;模式=块”
... 但是我们忘记了事先sudo a2enmod头文件。注释掉正在发送的额外标题解决了我们的favicon.ico问题。
我们还为开发设置了几个虚拟主机,只有在使用http://localhost和获取/favicon.ico时出现了500个内部服务器错误。如果您运行“curl -v http://localhost/favicon.ico”并得到关于主机名不在解析器缓存中或类似效果的警告,那么您可能会遇到问题。
它可能很简单,不抓取(我们尝试了,但没有成功,因为我们的根本原因不同),或者在apache2.conf或.htaccess中寻找可能导致奇怪的500个内部服务器错误消息的指令。
我们发现它失败得如此之快,在Apache的错误日志中没有任何有用的东西,花了整个上午的时间在这里和那里修改小的东西,直到我们解决了设置额外的头的问题,当我们忘记加载mod_headers !
你可以使用.htaccess或服务器指令来拒绝访问favicon.ico,但是服务器会向浏览器发送拒绝访问的回复,这仍然会减慢页面访问。
当用户返回站点时,可以通过将favicon.ico保留在浏览器缓存中来停止浏览器请求favicon.ico。
首先,提供一个小的favicon.ico图像,可以是空白的,但要尽可能小。我做了一个黑白的,不到200字节。然后,使用.htaccess或server指令,将文件的Expires头设置为未来一两个月。当相同的用户回到你的网站,它将从浏览器缓存加载,没有请求将去你的网站。服务器日志里也没有404了。
如果你可以控制一个完整的Apache服务器或者一个虚拟服务器,你可以这样做
如果服务器文档根目录是/var/www/html,那么将其添加到/etc/httpd/conf/httpd.conf
Alias /favicon.ico "/var/www/html/favicon.ico"
<Directory "/var/www/html">
<Files favicon.ico>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</Files>
</Directory>
然后,一个favicon.ico将适用于所有虚拟托管站点,因为您正在对它进行别名化。它将在用户访问后的一个月内从浏览器缓存中提取。
对于.htaccess,这是报告工作(不是由我检查):-
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/x-icon "access plus 1 month"
为了测试目的,暂时阻止这些最简单的方法是在chrome中打开检查页面,右键单击页面上的任何位置并单击检查,或者按Ctrl+Shift+j,然后转到网络选项卡,然后重新加载页面,这将发送您的页面应该发出的所有请求,包括恼人的favicon.ico。您现在可以简单地右键单击favicon.ico请求,然后单击“阻止请求URL”。
以上所有答案都适用于控制应用程序源代码的开发者。如果您是一名系统管理员,正在计算负载平衡器或代理配置,并对favicon.ico的恶作剧感到恼火,那么这个简单的技巧可以更好地发挥作用。这个答案是针对Chrome的,但我认为应该有一个类似的替代方案,你会发现Firefox/Opera/Tor/任何其他浏览器:)
你可以用
<link rel="shortcut icon" href="http://localhost/" />
这样就不会实际从服务器请求它。
有时,当HTML有一些注释代码,浏览器试图寻找一些东西时,就会出现这种错误。就像在我的情况下,我在烧瓶中注释了一个网页表单的代码,我得到了这个。
在花了2个小时后,我用以下方法修复了它:
1)我创建了一个新的python环境,然后它在注释的HTML行上抛出了一个错误,在此之前,我只抛出了错误'GET /favicon.ico HTTP/1.1" 404'
2)有时,当我有一个重复的代码,像python文件存在同名,然后我也看到了这个错误,尝试删除这些