7

我正在阅读 CSS Wizardry 的一篇关于 Web 优化的文章。 http://csswizardry.com/2013/01/front-end-performance-for-web-designers-and-front-end-developers/

这是一篇很棒的文章。我建议大家阅读它。

文章建议 CSS 处于关键路径,不应通过资产域提供服务。这是因为通过子域提供服务会导致 DNS 查找需要时间。关键路径 = 请求页面和实际看到某些内容之间的时间。

最佳实践要求您应该将大量资产分片到子域上,而不是 CSS。

但是,当我查看 Facebook 或 Apple 等大型网站的源代码时,他们是从子域提供 CSS 吗?他们为什么这样做?

<link rel="stylesheet" href="http://static.ak.fbcdn.net/rsrc.php/v2/yz/r/Hwq5_AIg0hW.css" />
<link rel="stylesheet" href="http://static.ak.fbcdn.net/rsrc.php/v2/y-/r/UgmvVXsZ1MP.css" />
<link rel="stylesheet" href="http://static.ak.fbcdn.net/rsrc.php/v2/yY/r/uHqkbF3y3Er.css" />


<link rel="stylesheet" href="http://images.apple.com/global/styles/base.css" type="text/css" />
<link rel="stylesheet" href="http://images.apple.com/v/home/p/styles/home.css" type="text/css" />
<link rel="stylesheet" href="http://images.apple.com/v/home/p/styles/billboard.css" type="text/css" />
<link rel="stylesheet" href="http://images.apple.com/home/styles/home.css" type="text/css" />
4

2 回答 2

1

鉴于您的计算机 / 局域网 / ISP 缓存了 DNS 查找,并且在许多情况下缓存了诸如 css 文件之类的资源,再加上 Apple 和 facebook 等网站有大量重复流量的事实,它们使用单​​独的域/子域更有意义这意味着浏览器可以在需要时并行下载更多资源。此外,如果这些域/子域是无 cookie 的,那么还有进一步的性能优势。对于像 facebook 和 apple 那样普遍的域,几乎没有 DNS 查找惩罚。

雅虎谷歌的一些有用信息

于 2013-01-29T23:47:46.377 回答
1

可能是他们优化了前端性能的其他领域,并且拥有各种专用服务器。对于像我这样的上限,我会在前端尽我所能,因为这只是我调整渲染时间,而不是整个团队。

我无法告诉你为什么 Apple 和 Facebook 选择做出他们所做的决定,但我从 CSS Wizardry 付诸实践的一切都对我有所帮助,所以我不打算争论。

看起来 Facebook 从一个单独的域提供服务,而 Apple 从一个子域提供服务。

于 2013-01-29T23:36:16.277 回答