何时分离文件以节省带宽

时间:2008-10-17 03:12:10

标签: javascript html css performance

我正在为我的网站做一些优化,并试图找出一些内联代码有多大,然后才能证明拥有它自己的文件而不是内联编写。

我对如何衡量它的猜测是,代码量(在这种情况下为CSS或JS)需要大于发送和接收的HTTP数据包以获得304响应。

请忽略这样一个事实,即将样式和javascript保留在HTML页面之外,只考虑浏览器性能。 :)

4 个答案:

答案 0 :(得分:5)

老实说,就浏览器性能而言,将CSS和&分开JS文件输出并正确设置过期标题,以便缓存它们增加性能,而不是降低它。浏览器将缓存它并且从不再次请求它,这减少了在多个页面查看期间传输的数据量。

只有当您的大多数受众群体使用空缓存来访问您的网站时,只有查看1页才会内嵌CSS& JS帮助。

请参阅:

答案 1 :(得分:0)

我还想补充一点,如果可能的话,你应该将你的JS / CSS组合成一个下载(每个),以节省与Web服务器的HTTP连接。我相信雅虎在他们的网址中建议Ryan发布。我最终编写了自己的.NET组件,可以组合脚本和CSS,并在需要时最小化它们并缓存它们(服务器端。)

答案 2 :(得分:0)

与Ryan达成一致,但是,如果您的观众只能看到您的网站一次,或者您是否希望缓存文件,那么请包含CSS和JS inline。

最佳做法是让您的服务器组合并将所有CSS / JS文件gzip到一个可缓存文件中以节省请求和带宽。

至少可以在Tomcat和Glassfish中轻松设置。

答案 3 :(得分:0)

自己再看一遍;我想我走在了正确的轨道上。

实际的HTTP请求看起来有点像这样:

HTTP/1.1 304 Not Modified
Cache-Control: max-age=604800, public
Last-Modified: Tue, 17 Jun 2008 17:20:41 GMT
Date: Mon, 20 Oct 2008 03:49:58 GMT
Server: ucfe

哪个大概是163个字节对吗?

通过查看此处(http://www.freesoft.org/CIE/Course/Section4/8.htm),看起来TCP数据包本身的范围可以从大约20个字节开始。

所以我猜测总请求+响应看起来大约250个字节(猜测30个字节的tcp数据包+一些填充请求和响应文本)全部向上。真的没什么。

我认为每个人都是对的。没什么大不了的。仍然对这对移动浏览器的影响感兴趣,但是因为多个请求的延迟将成为一个大问题。

如果我在计算中犯了错误,请说出来