优化技巧以下是一个可参考的文章标题:如何使用gzip优化虚拟主机网站的性能? (虚拟主机gzip)

如何使用gzip优化虚拟主机网站的性能?

在现代互联网时代,网站性能已成为网站建设不可或缺的一部分。在众多的性能优化技巧中,使用gzip压缩技术是一种非常有效的优化手段,可用于减小网页的大小,加快网页的,提升用户体验,从而提高网站的排名和吸引更多的访问者。本文将从什么是gzip、gzip的原理、gzip的使用方法等几个方面详细介绍如何使用gzip优化虚拟主机网站的性能。

一、什么是gzip?

gzip(GNU zip)是一种用于文件压缩的工具,由Jean-Loup Glly 和Mark Adler 开发。gzip 压缩算法是DEFLATE(LZ77 与哈夫曼编码)归来,压缩比和压缩速度都较高,目前已成为HTTP协议上使用的最常见压缩方式。网络传输时使用gzip可以大大减小数据量,加快传输速度,节省带宽,降低服务器的负载,为用户提供更快速乐的体验。

二、gzip的原理

gzip 将待压缩文件分成若干个块(chunk),每块为连续的几个数据,而不是单个字节。对于每个块,先用LZ77算法进行无损压缩成一个序列,然后再将序列通过哈夫曼编码进行有损压缩,形成最终的压缩数据。解压时则反过来,将压缩数据先通过哈夫曼编码进行还原,再用LZ77算法进行反压缩,最终得到解压文件。通常来说,gzip 压缩算法的压缩比和压缩速度相对比较理想,相信这也是其被广泛使用的原因。

三、gzip的使用方法

gzip的使用很简单,有两种方式可以开启该功能:一种是在代码中强制开启,另一种则是在服务器配置文件中作出修改。

1.代码中强制开启

网站的代码中都需要用到html、css、js等文件,在这些文件中我们只需加入一小段压缩代码,就可以使这些文件通过gzip进行压缩,使得用户下载时可以得到更快的,具体代码如下:

if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’))

ob_start(“ob_gzhandler”);

else

ob_start();

?>

这个代码使用了PHP的ob_start()函数,可以将输出内容缓存,并指定ob_gzhandler()作为缓存处理器。如果用户支持gzip压缩,则ob_start()函数就会使用ob_gzhandler()作为压缩处理器,将输出内容进行压缩处理。通过这样的方式可以为用户节省大约75%的下载时间,加速网站的响应速度。

2.在服务器配置文件中作出修改

如果您的网站已经运行在Apache、Nginx等Web服务器上,我们还可以通过修改服务器配置文件的方式开启gzip压缩。我们只需打开 Apache 配置文件、nginx配置文件、.htaccess文件等,找到以下的代码段,添加gzip配置即可:

Apache 配置文件:

# compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/pln

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certn file types by extension:

SetOutputFilter DEFLATE

Nginx 配置文件:

gzip on;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_min_length 512;

gzip_buffers 4 16k;

gzip_types text/pln application/x-javascript text/css;

gzip_vary on;

.htaccess 文件:

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

在这个配置中,我们指定了对HTML、CSS、、XML等文件进行gzip压缩,使用压缩级别为2,数据块为16K。压缩类型的设置要视情况而定,可以根据需求和实际情况进行修改。

四、注意事项

gzip虽然在网站的性能中起着重要的作用,但是有一些需要注意的问题:

1.动态内容:由于有些网站使用了动态页面,这些页面的内容难以缓存,因此gzip处理动态页面需要具备一定的技术调整。

2.不一定是恒好的:虽然gzip在大多数情况下能够加快网页加载速度,但是有一些情况下使用gzip压缩不但没有起到优化网页的效果,反而增大了下载时间。

3.服务器的处理能力:当客户端浏览器关闭网络请求时,Web服务器必须立即停止压缩过程,这意味着服务器需要在压缩所需的时间和其它任务之间做一个较好的平衡。

四、

gzip压缩技术是一种非常有效的性能优化技巧,使用gzip可以大大减小数据量,加快传输速度,节省带宽,降低服务器的负载,提升用户体验。通过代码强制开启和在服务器配置文件中作出修改的方式,可以快速开启gzip压缩技术,提高网站的性能,吸引更多的访问者。本文主要介绍了gzip的原理、使用方法和注意事项,希望对您的网站优化能够提供一些帮助。

相关问题拓展阅读:

如何利用gzip压缩网页来提升网站浏览速度

Edit the apache config file. Add/Open these contents:

#************* begin *********************

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

SetOutputFilter DEFLATE

# Don’t compress images and other

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary 哗胡森

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary 

SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary 

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css 

AddOutputFilterByType DEFLATE application/x-javascript

乱亩

#************** end **********************

restart apache

GZIP压缩是一个经常被用到的WEB性能优化的技巧,它主要是对页面代码,CSS,Javascript,PHP等文件进行压缩,而且在压缩的前后,文件的大小会有明显的改变,从而达到网站访问加速的目的。

IIS启用gzip压缩方法

之一步:打开IIS,启用HTTP压缩服务

右击”网站”->”属性”,选择滑大”服务”。在”HTTP压缩”框中选中”压缩应塌老用程序文件”和” 压缩静态文件”,按需要设置”临时目录”和”临时目录的更大限制”;

第二步:启用web服务

第三步:修改MetaBase.xml

开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,再修改信衫竖。(有的服务器不需要修改此文件便可以使用)

搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”

仔细核对下代码:

  

 

 

替换成:

 

 

 

修改好后,在服务中停止IIS Admin Service 服务。

然后再保存MeteBase.xml,保存好后再启动IIS。这样Gzip压缩就启用成功了。

Apache启用gzip压缩方法

Apache上利用Gzip压缩算法进行压缩的模块有两种:mod_gzip 和mod_deflate。

要使用Gzip

Web压缩,请首先确定你的服务器开启了对这两个组件之一的支持。在Linux服务器上,现在已经有越来越多的空间商开放了对它们的支持,有的甚至是同时

支持这两个模块的。例如目前Godaddy、Bluehost及DreamHosts等空间商的服务器都已同时支持mod_gzip

和mod_deflate。

虽然使用Gzip同时也需要客户端浏览器的支持,不过不用担心,目前大部分浏览器都已经支持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。

通过查看HTTP头,我们可以快速判断使用的客户端浏览器是否支持接受gzip压缩。若发送的HTTP头中出现以下信息,则表明你的浏览器支持接受相应的gzip压缩:

Accept-Encoding: gzip 支持mod_gzip

Accept-Encoding: deflate 支持mod_deflate  

Accept-Encoding: gzip,deflate 同时支持mod_gzip 和mod_deflate

在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤 如下:  

1、修改Apache的http.conf文件,去除mod_deflate.so前面的注释

LoadModule deflate_module modules/mod_deflate.so

2、在根目录中新建.htaccess文件,定制压缩规则

#GZIP压缩模块配置

#启用对特定MIME类型内容的压缩

SetOutputFilter DEFLATE

SetEnvIfNoCase Request_URI 

.(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$ no-gzip 

dont-vary #设置不对压缩的文件

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml 

application/x-httpd-php application/x-javascript #设置对压缩的文件

3、对指定的文件配置缓存的生存时间,去除mod_headers.so模块前面的注释

LoadModule headers_module modules/mod_headers.so

4、在根目录中新建.htaccess文件,定制压缩规则

#文件缓存时间配置

Header set Cache-Control “max-age=”

里面的文件MIME类型可以根据自己情况添加,至于PDF 、图片、音乐文档之类的这些本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要再通过Gzip压缩。通过以上设置后再查看返回的HTTP头,出现以下信息则表明返回的数据已经过压缩。即网站程序所配置的Gzip压缩已生效。

Content-Encoding: gzip

注:不管使用mod_gzip 还是mod_deflate,此处返回的信息都一样。因为它们都是实现的gzip压缩方式。

之一:利用GZIP压缩网页来提升网站浏览速度, 这个不是所有的网站都适用的

 因为开启GZIP压缩,是牺牲服务器性能来达到的..会对服务器产生额外的开销..所以要看你服务器的性能是否满足

一.IIS6.0开启方法:

  1.双击IIS服务器,右键点击网站,点击属性,然后点击服务,我们看到HTTP压缩,然后在压缩应用程序文件,压缩静态文件中打钩,然后点击确定,之一步就完成了

 2.然后我们右键点击web服务扩展,点击添加一个新的web服务扩展,输入扩展名,为了便于我们识别,我们可以起名为gzip,然后点击添加,选择C:\WINDOWS\system32\inetsrv\gzip.dll,然后点击确定,扩展状态为允许,否则gzip不能生效,一切完成,我们就可以点击确定了.

3.接下来也是最重要的一步了,编辑IIS配置数据库配置文件,在此操作之前,我们应该关闭IIS服务器才能进行接下来的操作,当然我们也可以不关闭IIS服务器,我们双击IIS服务器,右键点击本地计算机,点击属性,在允许直接编辑配置数据库上打钩,那么我们不用关闭IIS就能直接配置服务器配置数据库配置文件了

4.我们找到C:\WINDOWS\system32\inetsrv下的MetaBase.xml文件,操作这个文件之前应该先复制一份,慧埋以免出现意外的情况.打开此文件,搜索deflate,找到HcDoStaticCompression原来为false改为true,HcDynamicCompressionLevel原来为0,改为9,HcFileExtensions里面就可以添加我们需要压缩的后缀,这里添加的是静态文件,一般压缩html,js,css图片不列为压差做缩之列.动态的文件可不可以压缩呢,当然可以HcScriptFileExtensions里面就是填写要压缩的动态文件.配置完这个,我们要来配置下面的前庆蚂gzip,他们两个紧挨着的,配置方法相同.

二.IIS7开启方法:

在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的。如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内容压缩”和“动态内容压缩”两个选项,勾上即可。

三.apache开启方法

找到并打开apache/conf目录中的httpd.conf文件

httpd.conf中打开deflate_Module和headers_Module模块,具体做法为将 如下两句前面的#去掉:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

在httpd.conf文件底部加入如下代码配置需要压缩的文件:

SetOutputFilter DEFLATE

# Don’t compress images and other 

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary 

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary 

SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary 

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css 

AddOutputFilterByType DEFLATE application/x-javascript

重启APACHE

四.nginx开启方法

修改/usr/local/conf/nginx/nginx.conf,在http节点加入gzip配置即可。

gzip on;

gzip_min_length 1k;

gzip_buffers 16 64k;

gzip_http_version 1.1;

gzip_comp_level 6;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on;

 

nginx -s reload 重新加载nginx

之一步:打开IIS,启用HTTP压缩服务

右击”网站”->”属性”,选择”服务”。在”HTTP压缩”框中选中”压缩应用程序文件”和” 压缩静态文件”,按需要设置”临时目录”和”临时目录的更大限制”;

第二步:启用web服务

第三步:修改MetaBase.xml

开始 >芦培 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要陪困唯修改此文件便可以使用)

搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”

仔细核对下代码:

替换成:

修改好后,在服务中停止IIS Admin Service 服务.

然后在保存MeteBase.xml,保存好后尺培再启动IIS。这样Gzip压缩就启用成功了。

最后,测试Gzip压缩是否成功,可以到站长工具

进行检测。

提示:

仅针对windows的IIS服务器上演示的,VPS主机、独立服务器均可以实现,虚拟主机用户需要咨询空间商(一般虚拟主机都启用了Gzip)。

虚拟主机gzip的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于虚拟主机gzip,优化技巧以下是一个可参考的文章标题:如何使用gzip优化虚拟主机网站的性能?,如何利用gzip压缩网页来提升网站浏览速度的信息别忘了在本站进行查找喔。


数据运维技术 » 优化技巧以下是一个可参考的文章标题:如何使用gzip优化虚拟主机网站的性能? (虚拟主机gzip)