压缩页面使其加载更快

问题描述:

是否有任何方法来压缩asp.net页面的html页面或html输出,以加快加载速度。我听说Google正在使用该技术。压缩页面使其加载更快

在此先感谢。

是的,发送页面为Content-Encoding: gzip可能会更快地将页面本身传递到浏览器。但是,如果真正的问题是用户看起来页面加载缓慢,则需要记住显示页面的过程包含多个部分,其中您只查看一个部分。在加载页面本身的HTML之后,浏览器仍然需要解析它,开始执行页面中的任何脚本,并加载页面所需的任何其他数据(例如图像)。最后一部分耗费大量时间通常是页面显示缓慢的原因。

+0

是否与IE gzip编码工作?有时候它倒没有。 – Sathya 2009-06-06 09:35:06

+1

是的,IE支持4.0以上的gzip编码,虽然有些问题需要修补某些版本。更一般地说,你应该看看Accept-Encoding http头(尽管这不能正确处理破坏的实现)。 – 2009-11-04 06:51:13

做谷歌搜索的“压缩”一词

这当然是可能开启HTTP压缩,以减少传输的数据的大小通过网络和所有现代浏览器将知道如何解压缩响应。由于传输的数据较少,它只会缩短加载时间。如果这不是瓶颈,那么你可能看不到你期望的改进。如果您正在寻找改善网页性能的其他方法,您可能还需要查看YSlow或Page Speed等工具。

另外,非IIS具体做法是衡量你的网页的哪些部分花费大部分时间来加载。 一个很好的免费工具是来自Yahoo!的yslow
您也可以尝试用工具来优化您的图像文件,如pngcrush或在线工具smush-it
如果您使用了大量的CSS,你可以用CSSTidy将其最小化。

我知道你使用的是asp.net,但对于任何遇到此问题并且正在使用apache的人来说,最好的(最快的,最少的cpu密集型)压缩方法是mod_deflate,。

这是我在我的.htaccess使用方法:

# Insert filter 
SetOutputFilter DEFLATE 

# Netscape 4.x has some problems... 
BrowserMatch ^Mozilla/4 gzip-only-text/html 

# Netscape 4.06-4.08 have some more problems 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 

# MSIE masquerades as Netscape, but it is fine 
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 

# Make sure proxies don't deliver the wrong content 
Header append Vary User-Agent env=!dont-vary 

来源:http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

和证据,这是更快:http://www.google.co.uk/search?q=deflate+vs+gzip

+0

谢谢,也许我有一天需要它:) – Tarik 2009-06-06 20:21:26