3

我想从我们的 SO 用户那里获得一些关于在网站上更快地提供静态文件(如 JavaScript、CSS、图像和 Flash 文件)的提示。有什么有用的提示吗?

4

3 回答 3

2

我能给你的最好的建议是:购买Steve Sounder 的《高性能网站》一书,里面充满了易于理解的技巧。关于静态图像:使用内容分发网络 (CDN),这意味着:只需将您的静态内容放在另一台服务器、另一个(子)域上,就可以获得静态内容的最佳性能。

优点是:没有 cookie 来回发送(这占了很大的开销!),没有其他 HTTP 开销,良好的超时,使用外部 CDN 时的稳定性能,并且您自己的服务器获得的流量要少得多。有许多商业(如 Amazon S3),但也有免费的 CDN 供应商。

一些不太重要但仍然有价值的提示:

注意:StackOverflow 是一个很好的示例网站,它遵循所有这些提示并下载YSlow来测试您自己的网站。

于 2010-08-24T10:02:17.560 回答
1

在http://developer.yahoo.com/yslow/http://developer.yahoo.com/performance/rules.html查看 Yahoo 的建议。一些一般要点:

  1. 对静态文件使用 CDN(并在 CDN 域上禁用 cookie)
  2. 确保优化图像尺寸
  3. 缩小你的 JS 文件
  4. 将 SCRIPT 标签放在 HTML 的底部,并尽可能使用“defer=”属性(这会加快浏览器加载页面的速度)
于 2010-08-24T10:15:11.833 回答
1

使用内容交付网络 - CDN - 用于静态内容。

或者,您可以创建一个子域,即 gfx.yoursite.com,来托管您的所有静态内容。禁用 cookie 并通过积极缓存优化站点性能。

您可能还想研究 CSS sprites,它们也可以提高常见图形的性能。

为了减少页面中外部资源的数量,您还可以使用 base 64 编码将小图像直接嵌入到 CSS 文件中。这将减少 DNS 查找的次数并提高性能。然而,它增加了相当多的复杂性,维护很快成为一场噩梦。这是一个很好的工具来帮助你,将任何图像转换为 base64 字符串,但要小心。:)

于 2010-08-24T10:03:45.733 回答