A. 如何开启gzip压缩方法大全
IIS6.0启用Gzip压缩的方法:
1、新建Web服务扩展(如下图)
dll路径:“c:windowssystem32inetsrvgzip.dll”,然后启用。
2、网站服务中开启HTTP压缩支持(如下图)
临时目录需要给IIS用户读写权限。
3、修改IIS配置文件MetaBase.xml
文件路径:“c:windowssystem32inetsrv”(请先备份至他处),打开后搜索“HcDynamicCompressionLevel”,并修改(确定已备份)“Compression/deflate”和“Compression/gzip”两个片段的内容。下面的图n和图b所修改的内容用意是将js、css和php加入到压缩的范畴,数字9代表压缩等级。
(图n)
(图b)
4、重启IIS服务使之生效
——————————————————分分割割—————————————————
Apache启用Gzip压缩的方法:
1、开启模块并添加配置项目
a、vi /etc/httpd/conf/httpd.conf
b、查找LoadMole (/LoadMole),加入“LoadMole deflate_mole moles/mod_deflate.so”这行
c、添加配置项目(下段内容)
复制代码代码如下:
<IfMole mod_deflate.c>
# 压缩等级 9
DeflateCompressionLevel 9
# 压缩类型 html、xml、php、css、js
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfMole>
2、重启apache使之生效
service httpd start
——————————————————分分割割—————————————————
检测是否支持Gzip
END
注意事项
1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2. 修改完成后开启iisadmin服务,并执行iisreset命令
关于SEO的测试
压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。
B. Nginx开启和配置Gzip压缩
nginx 是一个高性能的 Web 服务器,合理配置nginx可以有效提高网站的响应速度。
本文介绍 nginx 的 gzip 和缓存开启配置。
gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。
Nginx的压缩输出有一组gzip压缩指令来实现。
相关指令位于 http{…} 两个大括号之间。
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-top: 0px; margin-bottom: 1rem; overflow: auto; display: block; color: rgb(33, 37, 41); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"># 开启gzip
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6].";</pre>
关于具体的参数说明可以参考 nginx 的文档 。
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-top: 0px; margin-bottom: 1rem; overflow: auto; display: block; color: rgb(33, 37, 41); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">location ~* ^.+.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
location ~* ^.+.(html|htm)$ {
expires 1h;
}</pre>
其中的缓存时间可以自己根据需要修改。
C. 如何启用网页GZIP压缩
下面”舒宇卓创站长“将和大家一起分享一下,希望对咱们站长有所帮助! 1.开启网页GZIP压缩有什么好处? Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度。 进而对于搜索引擎的收录也有一定的好处,也大大提高了我们的用户体验度。 2.如何启用IIS的Gzip压缩功能: 首先要有网站管理权限和服务器远程管理权限 步骤如下: 第一、如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件(PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。打开Internet信息服务(IIS)管理器,右击“网站”—>“属性”(注意:这里的网站是整个网站文件不是某个网站目录),之后选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”。 第二、在Internet信息服务(IIS)管理器,右击“Web服务扩展”—>“增加一个新的Web服务扩展”,在“新建Web服务扩展”框中输入扩展名“HTTP Compression”,添加“要求的文件”为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中“设置扩展状态为允许”;这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件了。 第三、使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),查找 IIsCompressionScheme标签,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,HcDynamicCompressionLevel,设置压缩率,取值0~10,0不压缩,10最高压缩率,这里设置成9,9是性价比最高的一个。HcFileExtensions,需要压缩的静态文件扩展名,默认只有htm,html,txt,可以把js,css,xml添加进去。建议按原来的格式,用换行作为分隔。
D. 网站服务器响应变慢应该怎么办
网站服务器租用用户在使用服务器一段时间后会发现网站打开变慢,用户就可以从服务器的硬件和软件方面来进行升级优化。
不管用户使用的服务器配置是新的还是刚升级完的,用户都应该对其进行优化,以提升服务器的性能跟它的整体利用率。西安智云优创建议用户可以从以下几个方面进行优化:
一、使用服务器的Gzip压缩功能
一般比较大中型的网站内容页面比价多,会造成占用较大的内存,当客户端访问的时候,加载的速度也会受到影响,如果是这类网站,用户可以用上海服务器的Gzip页面压缩功能,将一个比较大的页面尽量小一些,这样可以减少网络传输的数量,起到客户端访问速度。正常情况下的电脑是可以使用Gzip压缩功能的,而且还可以能够针对JS文件、CSS文件和Html进行压缩,多方面去进行优化网站访问速度。
二、尽量减少http请求数
一般情况下从访客访问一个页面到页面完全展现出来,这过程是要耗费一些时间加载各种Scripts、CSS样式表、Flash以及图片的,这过程中只要加载,就会请求一次http,所以这样的次数越多,时间耗费得越多,这样一来,页面的打开时间就越长,那如果是这样的情况,用户可以把CSS跟JS写到页面上,尽量避免外部调用,或者也可以把CSS文件和JS文件分来,在后台再进行合并,这样客户端浏览器相当于一次请求。所以尽量减少http的请求,减少外部各类文件的数量调用次数达到提升访问速度的目的。
三、升级上海服务器
在进行上海服务器升级工作之前,尽量多方面去考虑,是要升级现有的上海服务器还是要置换新的上海服务器设备。随着业务的不断增长,一直在使用的上海服务器遇到的问题比较多也是正常的。所以针对一些配置进行升级,比如说网络带宽,增加硬件设备等,来满足不断在扩大的业务需求。
至于说要置换的新的上海服务器,主要是因为可能在建站初期,选择硬件配置相对比较差的,使用到现在已经不能满足网站的发展,那只能选择购置新的服务器。
对于硬件优化的部分服务器租用完全可以信赖服务商的工作。选择一家靠谱的服务商对于服务器使用过程中出现的问题进行及时有效的处理是互联网公司的明智选择。
对于被攻击目标来说,需要面对不同协议、不同资源的分布式的攻击,分析、响应和处理的成本就会大大增加。对于一般的小型企业来说,通过自己来做到全面的防护不太实际且成本巨大。但是通过服务商部署的全面防护系统、单机硬防和集群防御软硬件给企业带来不一样安全体验。
网站优化一般从这几个方面考虑:
第一:最简单暴力的方式是升级服务器配置,升级cup,内存,硬盘,网络带宽,这是最简单直接的方式;但比较花钱 。
那么这几样要素是怎样影响网站响应速度的呢?硬盘有个读写效率问题,如果你的网站需要读取存储在服务器上的文件等东西,那么这个磁盘io就会影响效率;内存又是如何影响的呢?内存和硬盘的影响比较类似,但内存存储的是较为及时数据,和程序联系更为紧密一点,存储处理效率
在很大因素上能直接受到影响。最后就是网络带宽了,当网络带宽较低,数据传输的效率就会被限制,即使你的服务器各方面配置很ok,那也是没办法的,就如同被限制了高消费的富豪一样,你有限范围内有钱花不出去。。
第二:分析具体瓶颈,对应解决。
如果网站用户规模较大,响应频繁,这个时候就要考虑网站本身研发的质量如何?优化相关代码,如将页面静态化,减少页面和服务端响应次数,减少服务端接口响应的数据量,去除代码中低端耗时的部分,减少数据库操作,优化sql执行效率,前后端分离等等,手段非常多;这些都是在代码层面进行优化。
1,带宽可以说是体现一个网站的访问速度,理论是带宽越大访问速度越快,有些站长为什么网站搭建久了响应速度慢了呢?就是因为网站流量、访客越来越多了,之前选择的带宽几乎不够用造成拥堵,这时候把带宽升级一下就行了,员跃 科技 服务器认为最好是选择带宽充足的服务器,主要是性价比高的。
2,把图片大小优化一下,最好图片大小是在kb以内的不是在M以上的,当然如果是电商网站那就另当别论了。还有就是最好不要有flash的图片文件,不仅影响响应速度还不利于网站优化。
3,动态程序开发的网站,尽量减少服务器回传(postback),即减少服务器数据库查询次数,,使服务器的负载降低。
4,在国内很多访问量的网站都在后台生成静态页面,像新浪和搜狐的,不过这不是一件简单的工作。
E. 怎么开启网页Gzip压缩
下面”舒宇卓创站长“将和大家一起分享一下,希望对咱们站长有所帮助! 1.开启网页GZIP压缩有什么好处? Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度。 进而对于搜索引擎的收录也有一定的好处,也大大提高了我们的用户体验度。 2.如何启用IIS的Gzip压缩功能: 首先要有网站管理权限和服务器远程管理权限 步骤如下: 第一、如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机器名”这个用户的写权限。如果压缩动态文件(PHP,asp,aspx)就不需要了,因为它的页面是每次都动态生成的,压缩完就放弃。打开Internet信息服务(IIS)管理器,右击“网站”->“属性”(注意:这里的网站是整个网站文件不是某个网站目录),之后选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”。 第二、在Internet信息服务(IIS)管理器,右击“Web服务扩展”->“增加一个新的Web服务扩展”,在“新建Web服务扩展”框中输入扩展名“HTTP Compression”,添加“要求的文件”为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中“设置扩展状态为允许”;这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件了。 第三、使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),查找 IIsCompressionScheme标签,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,HcDynamicCompressionLevel,设置压缩率,取值0~10,0不压缩,10最高压缩率,这里设置成9,9是性价比最高的一个。HcFileExtensions,需要压缩的静态文件扩展名,默认只有htm,html,txt,可以把js,css,xml添加进去。建议按原来的格式,用换行作为分隔。
F. 将Js和CSS文件压缩成min文件
个人建议从几个方面入手:
1、在服务器上启用GZIP压缩,添加css等静态文件等。
2、把主页、内容页的CSS分开写,公共部分单独用一个CSS,这样就可以减少CSS的大小。
3、优化CSS语法,并可以使用工具压缩,但要注意用多个浏览器测试。
4、将一些JS调用尽量放到网页底部
G. 如何开启gzip压缩
gzip是HTML压缩算法的一种,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩工作原理是:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
怎么做gzip压缩呢?大致有:在Contol Pannel开启gzip、开启http服务器gzip、利用php本身的gzip。
IE6和火狐都支持客户端gzip,在网页传输之前,先使用gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示。
IIS6已经内建了gzip压缩的支持。在IIS6上做gzip压缩的方法是:
如果你需要压缩静态文件,可以先在硬盘上新建一个目录,并给它“IUSR_机器名”这个用户设置写权限。如果压缩动态文件就可以不用这样的,因为它的页面是每次都动态生成的(页面动态生成),压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。给gzip的临时目录空间不要太大了200MB左右就够了。
然后选中网站下面那个服务器扩展,新建一个服务器扩展。可以用任何你想用的名字,下面的添加文件的路径是:
c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。
这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。
在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,
分别是
<IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/deflate”
<IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/gzip”
<IIsCompressionSchemes Location =“/LM/W3SVC/Filters/Compression/Parameters”
前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,9是性价比最高的一个。
至此,怎么做gzip压缩的过程我们就都实现了,需要注意的是:网页启用了gzip压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。
H. gzip压缩实践
为提高网页加载速度,启用 gzip 缩减资源的大小是非常常见的手段。现代浏览器均支持 gzip 压缩,并会为HTTP请求自动协商此类压缩。
本文将对 gzip 的实践和原理做一个简单的总结。
web服务器在接收到浏览器的请求之后,会检查浏览器可以接受哪些压缩方法,详情可见下图。
浏览器在请求头中会带上 Accept-Encoding 这个参数来说明自己支持哪些内容编码方式。
而服务端返回的 Response Headers 中则存在一个 Content-Encoding ,用来说明数据的压缩方法。
几乎所有的浏览器都已经支持了 gzip ,并且有请求头的验证,所以基本不需要担心兼容相关的问题。
压缩前后的体积前后差异,可以在控制台中看到。可以说,对于js、css文件的压缩率还是比较可观的。
经过这种方式的配置,在服务端响应请求的时候会对文件进行压缩,之后返回压缩过后的内容。不过压缩这一过程多多少少会占用一些服务端的性能,具体压缩的程度,也就是 gzip_comp_level 设置的值也会影响到占用性能的多少,接下来我们来看一些网上搜集到的数据,了解不同值的设置对文件大小和CPU占用的影响。
可以看到,压缩级别从0到1时,文件大小明显减小,CPU消耗略微上涨。而在之后文件减小的速率明显放缓,在达到了5之后继续增加压缩级别,文件的体积也几乎没有缩小,但CPU消耗却有较为明显的上涨。
根据结论可以看出,如果是在服务端使用 gzip 压缩的话,考虑到性能和压缩率的取舍,将压缩级别设置为一个较低的值,比如2之类的,是比较合理的。
我们也可以选择在打包构建项目的时候就对文件进行gzip压缩
这边以打包一个 webpack 的前端项目为例
运行构建命令后可以看到,在生成 .js 和 .css 的同时还生成了对应的 .gz 文件。
在这种方式的压缩中,我们完全可以把压缩等级设置为一个比较高的值(默认),毕竟只是略微影响打包的时间,却能获取一个更小的体积的包,还是比较值得的。
以 nginx 为例,静态压缩需要使用 http_gzip_static_mole 这个模块,这个模块不是默认的,应使用 --with-http_gzip_static_mole 的配置参数启用它
之后再配置中添加
这样便可开启静态压缩。
需要注意以下几点:
I. 如何利用gzip压缩网页来提升网站浏览速度
纯Tomcat 服务器
如果您的 WEB 应用程序是跑在 Tomcat
服务器下的,而且直接使用 Tomcat 所提供的 HTTP 服务,那建议你马上动手,因为实在是太简单了,你只需要在 server.xml
配置文件中给 HTTP Connector 增加一个 compression 的参数值为 on 并重启 Tomcat
服务器就立刻生效,配置如下:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" compression="on"/>
Tomcat
采用的是 HTTP/1.1 的 GZIP 压缩协议,它会根据浏览器送过来的请求中的 accept-encoding 值是否包含 gzip
来判断浏览器是否支持 gzip 压缩协议,如果浏览器支持就启用 gzip 压缩,否则就不进行任何压缩处理。Tomcat 中还有另外一个参数
compressableMimeType,这个参数可以用来指定压缩哪种类型的内容,例如可以指定该配置值为:text/html,text
/plain ,则只压缩 contentType 为 text/html 和 text/plain 的页面,不过您最好也将 css 和
javascript 文件也算在压缩的文件类型中,因为这两者的压缩效果也十分的明显。
Apache 服务器
在
apache 1.3 版本,大家常用 mod_gzip 对输出内容进行压缩,现在主流的浏览器都支持 gzip 解压缩。在 apache2
下,这个模块换名为 mod_deflate,对应的模块文件名是 mod_deflate.so。mod_gzip 本文不做介绍,下面描述一下在
Apache 2 下如何启用并配置 mod_deflate 模块。默认安装的 Apache 不管是 Windows 还是
Linux/Unix,都是不启用该模块的, Linux/Unix 下甚至不带该模块,你需要手工编译这个模块。
下面我们分别介绍在 Windows 和 Linux 操作系统下如何启用并配置 mod_deflate 模块。
在 Windows 下采用安装程序安装的 Apache 服务器已经带有 deflate 所需要的模块 mod_deflate.so 和 mod_headers.so,我们只需要在 httpd.conf 配置文件中启用并进行相关的配置即可,配置如下:
LoadMole deflate_mole moles/mod_deflate.so
LoadMole headers_mole moles/mod_headers.so
<Location />
# 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
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>
而
如果是 Linux/Unix 操作系统,如果你没有在编译安装的过程中将所需要的两个模块 mod_deflate 和 mod_headers
编译进去的话,那就稍微有点麻烦,首先我们先看如何在编译安装 Apache 过程中也同时编译这两个模块,请在执行 configure
程序时增加两个参数分别是:
# ./configure --enable-deflate --enable-headers
这样在编译完 Apache 后就可以直接在 httpd.conf 中启用并配置 deflate 模块了,配置的方法跟 Windows 平台下是相同的。
如
果说您的 Apache 已经在运行了,不想再重新编译一次,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c
和mod_headers.c。这两个文件位于 {apache-src}/moles/filters/ 目录下(其中 {apache-src}
为 apache 源文件所在的目录)。使用如下命令来单独编译这两个源文件。
# {apache-bin}/apxs -i -a -c {apache-src}/moles/filters/mod_deflate.c
# {apache-bin}/apxs –i –a –c {apache-src}/moles/filters/mod_headers.c
其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。
很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是:
Cannot load /opt/apache/moles/mod_deflate.so into server: /opt/apache/moles/mod_deflate.so: undefined symbol: deflate
解决的方法如下:
编辑 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值为 "-lz",然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。
为了省却不必要的麻烦,请尽量在编译安装时直接加上 --enable-deflate --enable-headers 参数。
IIS 服务器
微
软的 IIS 服务器同样也是目前用得最多的 WEB 服务器之一,而且用来运行 ASP 页面也是必不可少的。IIS6,iis本身支持 gzip
压缩,IIS5就比较费劲了,你可以找一些第三方的组件来处理,例如 httpzip,接下来我们介绍如何在 IIS6 中启用压缩功能。
打开 Internet 信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在 "HTTP压缩" 框中选中 "压缩应用程序文件" 和 "压缩静态文件",按需要设置 "临时目录" 和 "临时目录的最大限制",
设置网站属性
接
下来配置 gzip 组件,在 Internet 信息服务(IIS)管理器,点击 "Web 服务扩展"->"增加一个新的 Web
服务扩展...",在 "新建 Web 服务扩展" 框中输入扩展名 "HTTP Compression",添加 "要求的文件" 为
C:\WINDOWS\system32\inetsrv\gzip.dll,选中 "设置扩展状态为允许",如下图所示:
设置 Web 服务扩展,新建 Web 服务扩展
还没完呢,我们还需要修改一个配置文件,修改之前请先停止 IIS 服务,打开 C:\Windows\System32\inetsrv\MetaBase.xml,这个文件很大,找到下面一段信息:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,保存后启动 IIS 即可生效。
最
后我们介绍如何来测试前面所做的工作是否起效,你可能会觉得很奇怪,配置好了,用浏览器打开页面正常,查看页面源码,内容并没有变化,大小也跟原来一样,
怎么回事呢?这是因为浏览器已经把内容解压了的结果,有两个方法来判断压缩是否生效:第一,查看 WEB 服务器的日志,不管是 Apache 或者是
IIS,二者的访问日志格式都差不多是下面这种格式:
127.0.0.1 - - [14/May/2006:08:44:28 +0800] "GET /manual/style/css/manual.css HTTP/1.1" 200 19351
最
后两个数字分别是 HTTP 的结果码(200 表示 OK),19351
表示的是响应内容的大小,把这个大小跟你在浏览器上查看源码的大小比较一下就可以知道是否生效。另外一种方法就是自己写一个 HTTP
客户端的小程序并设置 Accept-Encoding 的值为 gzip,deflate,由这个程序去请求服务器端的某个 URL
地址,然后打印出响应的内容,如果是一堆乱码,恭喜你,配置成功。下面是一段 Java 写的测试客户端代码(需要用到
commons-httpclient 包):
HttpClient http = new HttpClient();
String url = http://www.softbar.com;
GetMethod get = new GetMethod(url);
try{
System.out.println("fetching url : "+ url);
get.addRequestHeader("accept-encoding", "gzip,deflate");
int er = http.executeMethod(get);
if(er==200){
System.out.println(get.getResponseContentLength());
String html = get.getResponseBodyAsString();
System.out.println(html);
System.out.println(html.getBytes().length);
}
}finally{
get.releaseConnection();
}
结论
以
上是目前比较流行的两个 WEB 服务器软件以及 Tomcat 服务器对于页面压缩的配置方法;其他的一些 J2EE
应用服务器如果不支持这个功能的话可以考虑利用过滤器(Servlet Filter)来进行处理,具体的代码以及配置方法可以参考 Resin
服务器所提供的文档。但是有一点需要提醒各位读者的是,本文介绍的访问只是在服务器本身的响应速度已经足够优化的情况下进行,也就是说在带宽成为系统瓶颈
的时候才来考虑该方案。
J. 配置虚拟主机可以缩短访问等待时间提高访问速度
配置虚拟主机可以缩短访问等待时间可以提高访问速度
虚拟主机提高网站访问速度的方法有:1.使用gzip压缩功能,减少网页大小;2.采用分页技术,将一个网页进行多个页面展示;3.降低网页中图片的数量;4.减少页面HTTP请求,采用CSS样式、图像映射属性降低HTTP请求;
具体分析如下:
1.使用gzip压缩功能
运用gzip技术能够最大的压缩比能够是原尺寸的四分之一,所以压缩比极高。当压缩后的内容被客户端的浏览器下载之后,就会进行自动的反解压,可以在客户端迅速打开,从而提升网页的打开速度。
2.采用分页技术
当网页尺寸较大且涉及到的内容较多时,可以采用分页技术,将一个网页进行多个页面展示,那么用户打开每一个页面的时间就会变短,就能够有效的提升网站的打开速度,降低燃轮用户自身的等待时间。
3.降低网页中图片的数量
网页打开速度慢一个非常重要的因素就是图片尺寸大,数量多。有些网页如果设计不当,逛逛整个页面的尺寸高谈就会达到数十M,那么当网页浏览器的下载速度只有几十Kb时,自然难以提升网页的打开速度。
4.减少页面HTTP请求
如一个网页中拥有很多backgroup图像那么每个图像都会产生一个HTTP请求,于是打开一个页面会出现很多时间,可以通过CSS样式技术,将Backgroup图像运用CSS样式来代表,可以有效的降低HTTP请求,从而戚段碰提升网站的打开速度,也可以采用图像映射属性来进行设计,降低网页图片的直接加载,从而降低HTTP的请求。