我没有favicon.ico,但我的浏览器总是发出请求。

是否有可能阻止浏览器从我的网站制作favicon的请求?也许是HTML头中的META-TAG ?


当前回答

如果你不使用HTML,它是由Flask或一些框架自动生成的,你可以在应用程序中添加一个虚拟路由,只返回虚拟文本来修复这个问题。

或 . . . 你可以添加图标:)

Eg for Python Flask Application。

@app.route('/favicon.ico')
def favicon():
    return 'dummy', 200

其他回答

把这个放进你的HTML头:

<link rel="icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12P4//8/AAX+Av7czFnnAAAAAElFTkSuQmCC">

这个答案比其他答案稍大一些,但确实包含一个实际有效的PNG图像(1x1像素白色)。

就我个人而言,我在我的HTML头标签中使用了这个:

<link rel="shortcut icon" href="#" />

我通过使用内容安全策略HTTP响应报头解决了这个问题。通过使用这个,可以阻止浏览器进一步的媒体查询,如图像(其他类型也可以)。我添加了以下头的响应:

内容安全策略:img-src 'none'

问题是它会阻塞所有的图像查询。如果您的HTML有任何图像,它们将不会被加载。在我的情况下,这很可能是Firefox中的一个错误,因为浏览器正在请求favicon.ico的响应,其Content-type是text/xml!

它还取决于在客户端强制执行的实现此特性的浏览器。

访问https://content-security-policy.com获取CSP的完整指南。

干杯!

我需要防止请求和有图标显示,即在Chrome。

快速代码尝试<head>:

    <link rel="icon" type="image/png" sizes="16x16" href="data:image/png;base64,
    iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEU0OkArMjhobHEoPUPFEBIu
    O0L+AAC2FBZ2JyuNICOfGx7xAwTjCAlCNTvVDA1aLzQ3COjMAAAAVUlEQVQI12NgwAaCDSA0888G
    CItjn0szWGBJTVoGSCjWs8TleQCQYV95evdxkFT8Kpe0PLDi5WfKd4LUsN5zS1sKFolt8bwAZrCa
    GqNYJAgFDEpQAAAzmxafI4vZWwAAAABJRU5ErkJggg==" />

详细说明前面的答案,这可能是HTML文件本身的最短解决方案: <link rel="快捷图标" href="data:" /> .

测试工作,没有错误消息或失败的请求在Chrome版本94.0.4606.81