网站图标404会影响性能吗?

5
我们注意到在我们的Coldfusion CFIDE服务器监视器中经常出现404错误,并花费一些时间才发现,像缺少网站图标等问题会导致这些错误。
我们使用自定义的404模板页面,其中包含某些逻辑(不仅是基本的HTML)。因此,每当favicon的404出现时,这些页面将生成并返回给用户。
由于许多浏览器默认请求这些favicon(如果在标题中没有指定其中一个,它会查找站点根目录或类似的东西),这会在我们的服务器上产生大量的404错误,这既浪费了处理时间又浪费了带宽。我们的服务器大部分时间都运行良好,但当它获得一些重负时,我们有时会遇到严重的性能问题。
我知道这是一个性能问题,但是否值得尝试解决?如果是这样,是否有一种方法可以使用Coldfusion服务器(或我们底层运行IIS的Windows Server 2003)来过滤实际引发CF 404错误的文件?理想情况下,对于这些favicon、CSS和Javascript等文件(因为访问者从未真正“看到”这些文件的输出),我们只需要返回一个不包含任何内容的HTTP 404响应,因为这是不必要的...

我认为这也可以行得通:https://dev59.com/Oms05IYBdhLWcg3wJuvp - Alpha2k
3个回答

13
是的,缺少网站图标(favicon)会影响性能,任何缺失的内容都会对自定义的404页面产生影响(特别是如果404页面由内容管理系统处理)。这是因为每次浏览器请求文件(图片、视频、页面等)时,都会在服务器上造成负载。假设您的网站每个页面都缺少网站图标,如果您的404页面是内容管理系统的一部分,则会将服务器的负载加倍(每次请求两个页面而不是一个)。如果您的404页面不同,但仍然具有逻辑,那么它会增加负载,但仅限于文件要求的程度(逻辑越少=负载越小,反之亦然)。
我建议解决这个问题,但不一定是通过禁用某些扩展名的自定义404页面。在我看来,如果您只是简单地为所有网站添加一个网站图标文件,那么这将更好(对您和您的访问者来说)。这不仅可以解决404问题,而且可以帮助您的访问者在收藏页面或将站点添加为应用程序选项卡时更快地识别您的网站(即使您的网站对公众不可见,后端站点也是应用程序选项卡的绝佳用例)。除了服务器的性能外,下载404页面还会对网络性能产生影响,无论是在服务器端还是终端用户端。404页面可能也无法被缓存,即使可以缓存,也不会像现有的网站图标那样长时间使用,这会导致请求频率比创建网站图标时更高。
如果您不想花费时间(或没有需要)进行高级品牌推广(例如为网站图标创建自定义徽标),则可以使用带有字母的基本图像(例如“K”)。网站图标对公众、任何员工甚至您自己都非常有用,因此我认为至少要制作一个基本的网站图标是值得您的时间的。

我们的“站点”实际上是一个基于网络的服务,并且设置了虚拟主机以处理许多不同的站点。我们无法用自己的网站图标来为客户的站点品牌定位,但我想我们可以只制作一个空白的白色 ping 图标并将它们上传到所有没有设置 favicon 的站点... - jzimmerman2011
@jzimmerman2011,在这种情况下,我建议使用透明的网站图标。这样,使用深色主题浏览器的人就不会看到任何东西(而不是一个空白的白色正方形)。 - 0b10011

3

只有您才能真正判断是否需要解决这个问题...... 404 错误每秒生成多少次,它们对服务器产生了什么额外负载等。

关于解决方案...为什么不部署一个网站图标?这可能比担心问题更快。


0

正如其他人提到的,我认为处理这个问题最简单、最明智的方法不是在404处理方面处理它,而是确保首先不会出现404。如果所有这些都是因为缺少网站图标而发生的...那就通过不缺少网站图标来解决它!如果您没有资源或意愿适当地品牌化一个图标,只需使用通用图标即可。更好的做法是解决实际问题而不是问题的症状。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接