【问题标题】:How to prevent the browser from asking for the favicon?如何防止浏览器请求图标?
【发布时间】:2011-06-19 12:39:18
【问题描述】:

我可以在我的 HTML 中使用一些指令来告诉浏览器不要请求网站图标吗?

【问题讨论】:

  • 重定向/favicon.ico 以下载托管在别人服务器上的 1 gig 文件怎么样? :)
  • 好吧,也许如果您将浏览器指向一些愚蠢的东西(例如本地主机),它不会请求网站图标。但我不得不怀疑,对网站图标的请求真的那么重要吗?你不能把你的服务器快速配置成 404 吗?

标签: html browser favicon


【解决方案1】:

不,我认为没有。来自Wikipedia

大多数网络浏览器不需要任何 HTML 来检索符合位于网站根目录中的实际文件名和类型 (favicon.ico) 的网站图标。如果在 HTML 页面加载完成时没有检测到 favicon 链接,并且浏览器的历史记录中没有记录以前的站点访问,则会自动请求 favicon.ico。[8]

你唯一能做的就是将浏览器显式指向一个不同的位置(例如可以返回一个204 no content

<link rel="shortcut icon" href="http://www.example.com/my_empty_resource" />

【讨论】:

    【解决方案2】:

    添加这一行。

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

    这会为网站图标的元素分配一个空的数据 URL,该元素指定外部资源的位置。这个技巧可以阻止用户的浏览器发送一个自动的 HTTP 请求来获取 favicon。

    This has some more details

    【讨论】:

      【解决方案3】:

      您可以尝试将 &lt;link&gt; 指向数据 URL。正如下面评论的那样,IE 不会喜欢这样。

      示例(来自 11011.net): &lt;link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAIAAAAAAAAAAACH5BAkAAAEALAAAAAAQABAAAAIgjI+py+0PEQiT1lkNpppnz4HfdoEH2W1nCJRfBMfyfBQAOw==" /&gt;

      经过编辑以反映 Pekka 对 IE 的担忧。

      【讨论】:

      • 有趣的想法,但在 IE 中不起作用。 IIRC,数据 URI 的使用仅限于那里的图像源......仍然值得一试,也许它无论如何都会阻止获取它
      • 有些人建议在 href 中使用“about:blank”。 webmasters.stackexchange.com/questions/34544/…
      【解决方案4】:

      如果您不使用 HTML 及其由 Flask 或某些框架自动生成的内容,您可以随时在应用中添加虚拟路由以仅返回虚拟文本来解决此问题。

      例如 Python Flask 应用程序。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 1970-01-01
        • 2015-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多