Asp.net 更快地提供静态文件(如Javascript、CSS和图像)的提示

Asp.net 更快地提供静态文件(如Javascript、CSS和图像)的提示,asp.net,performance,static-files,Asp.net,Performance,Static Files,我想从我们的SO用户那里得到一些关于在网站上提供静态文件(如JavaScript、CSS、图像和Flash文件)的技巧,这些文件更快。有什么有用的小贴士吗?我能给你的最好的小贴士是:买,里面有很多简单易懂的小贴士。关于静态图像:使用内容交付网络(CDN),这意味着:只需将静态内容放在另一台服务器上,放在另一个(子)域上,就可以获得最佳的静态内容性能 优点是:使用外部CDN时,无需来回发送Cookie(这会造成很大的开销!)、无其他HTTP开销、良好的超时、稳定的性能,并且您自己的服务器的流量会大

我想从我们的SO用户那里得到一些关于在网站上提供静态文件(如JavaScript、CSS、图像和Flash文件)的技巧,这些文件更快。有什么有用的小贴士吗?

我能给你的最好的小贴士是:买,里面有很多简单易懂的小贴士。关于静态图像:使用内容交付网络(CDN),这意味着:只需将静态内容放在另一台服务器上,放在另一个(子)域上,就可以获得最佳的静态内容性能

优点是:使用外部CDN时,无需来回发送Cookie(这会造成很大的开销!)、无其他HTTP开销、良好的超时、稳定的性能,并且您自己的服务器的流量会大大减少。有许多商业(如AmazonS3),但也有免费的CDN供应商

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

  • (仅加速第一次加载)
  • 对于您的(较小的)图像

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

使用内容交付网络(CDN)进行静态内容

或者,您可以创建一个子域,即gfx.yoursite.com,以承载所有静态内容。禁用Cookie并使用攻击性缓存优化站点性能

您可能还想研究CSS精灵,它们也可以提高普通图形的性能


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

在和上查看雅虎的建议。一些要点:

  • 对静态文件使用CDN(并禁用CDN域上的Cookie)
  • 确保图像大小已优化
  • 缩小你的JS文件
  • 将脚本标记放在HTML的底部,并尽可能使用“defer=”属性(这会加快浏览器加载页面的速度)

  • 这应该是CommunityWiki,尽管我认为它有点过于通用…@Nick改为CommunityWiki..如何将Javascript和CSS文件组合成一个?有什么好文章可以开始吗?@Pandiya:这在很大程度上取决于你如何为他们服务。即,如果它们是动态生成的,则必须更改动态生成。一般来说,组合JavaScript文件或CSS只不过是将它们全部粘贴到一个文件中(但一定要保持加载顺序)。@Pandiya:我更新了这篇文章,链接到另一篇关于这个主题的SO文章。我认为IE还不支持数据方案,因此排除了大多数用户的可能性…:(