【问题标题】:Time gap between .favicon and all all other requests?.favicon 和所有其他请求之间的时间间隔?
【发布时间】:2018-02-26 10:26:03
【问题描述】:

我们在 GT Metrix 上的速度测试中看到了一致的模式,该网站在所有资源加载和网站图标请求初始化之间存在 150-250 毫秒的差距。这延长了满载时间。

任何想法为什么会发生这种情况?

Favicon 在 HTML 文件的头部引用如下:

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"> 

Drupal 7 .htaccess 文件引用 favicon 如下:

# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

瀑布的屏幕截图(注意倒数第二个请求和最后一个请求之间的差距):

【问题讨论】:

  • 您是否仅在此特定网站上看到此内容?您是如何嵌入/引用 favicon 的?您是否完全指定了它 - 或者您只是依赖于机制,即浏览器在明确指定网站图标时自动请求/favicon.ico
  • Favicon 在文档头部引用如下: 是的,我看到了在多个网站上。会不会是 apache 的问题?
  • 是否可以同时查看访问日志?我已经看到一些奇怪的请求行为正是针对 favicon。
  • 嘿@Andra 我查看了访问日志,但不确定什么会暗示奇怪的行为?我已更新问题以包含 .htaccess 文件的一部分。不确定该规则是否会造成延迟?...虽然它肯定会延迟所有文件...
  • 您确定需要这条规则 (RewriteCond %{REQUEST_URI} !=/favicon.ico) 吗?

标签: html apache performance pagespeed gtmetrix


【解决方案1】:

这是因为 favicon 不需要真正呈现页面,只显示在标题栏中,所以浏览器推迟下载它。

(我很好奇自己是否可以更快地强制加载,显然这根本不是一件小事,即使使用 preload 或 http/2 push 也只会加载两次)

【讨论】:

    猜你喜欢
    • 2021-06-30
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 2022-11-03
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多