HTML:我的图标可以放在 CDN 上而不是 /favicon.ico 上吗?
题
我的 favicon.ico 是否必须存储在我的域的根目录下?或者我可以将我的网站图标存储在另一个域上吗?
意思是,从 www.example.com, ,这有效吗?
<link rel="shortcut icon" href="http://MY-CDN.example.com/favicon.ico" />
我想要做的是从我的 CDN 提供我的 www.example.com 网站图标。这个可以吗?我应该了解有关浏览器兼容性、性能等的任何负面信息。
解决方案
是的。直接看这个页面的源代码:
<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico">
然而,一些用户代理仍然会尝试在您的域的根部获取它,您可能需要设置一个重定向以指向那里,这样您就不会收到 404 错误。
meder@meder-desktop:~$ curl -v http://stackoverflow.com/favicon.ico
* About to connect() to stackoverflow.com port 80 (#0)
* Trying 69.59.196.211... connected
* Connected to stackoverflow.com (69.59.196.211) port 80 (#0)
> GET /favicon.ico HTTP/1.1
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
> Host: stackoverflow.com
> Accept: */*
>
< HTTP/1.1 302 Redirect
< Content-Type: text/html; charset=UTF-8
< Location: http://sstatic.net/so/favicon.ico
< Server: Microsoft-IIS/7.0
< Date: Tue, 05 Jan 2010 01:54:23 GMT
< Content-Length: 156
<
<head><title>Document Moved</title></head>
* Connection #0 to host stackoverflow.com left intact
* Closing connection #0
<body><h1>Object Moved</h1>This document may be found <a HREF="http://sstatic.net/so/favicon.ico">here</a></body>
其他提示
您可以轻松地在你的头向CDN指向该文件做到这一点。如:
<link rel="shortcut icon" href="//cdn.perfmatters.io/favicon.ico" type="image/x-icon" />
有关更深入的细节我想看看下面的教程,它有你需要如何来承载您的图标在您的CDN,而不是一切。 https://www.keycdn.com/blog/make-a-favicon/一>
这绝不是你可以做的最重要的优化,但同样,一切计数和增加了。特别是如果你要一个的单个HTTP / 2连接强>
不隶属于 StackOverflow