网页如何开启Gzip压缩

gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。它是Jean-loupGailly和MarkAdler一起开发的。第一次公开发布版本是1992年10月31日发布的版本0.1,1993年2月发布了版本1.0。
  一、GZIP概念
  GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
  HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。
  二、gzip 命令
  减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
  语法:gzip [选项] 压缩(解压缩)的文件名
  该命令的各选项含义如下:
  -c 将输出写到标准输出上,并保留原有文件。
  -d 将压缩文件解压。
  -l 对每个压缩文件,显示下列字段:
  压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字
  -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
  -t 测试,检查压缩文件是否完整。
  -v 对每一个压缩和解压的文件,显示文件名和压缩比。
  -num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),
  -9 或–best表示最慢压缩方法(高压缩比)。系统缺省值为 6。
  指令实例:
  gzip *
  % 把当前目录下的每个文件压缩成 .gz 文件。
  gzip -dv *
  % 把当前目录下每个压缩的文件解压,并列出详细的信息。
  gzip -l *
  % 详细显示例1中每个压缩的文件的信息,并不解压。
  gzip usr.tar
  % 压缩 tar备份文件usr.tar,此时压缩文件的扩展名为.tar.gz。
  三、快速启动
  在WordPress中虽然有插件可以启动Gzip网页压缩,不过能通过几句语法来达到网页压缩,这样不是更好吗?其实在PHP中,有一句语法是可以开启Gzip的,只要加在网页输出的前端即可。在WordPress中,其实大部分的缓存插件都有内建启动Gzip压缩功能,不论是老牌的缓存插件WP Super Cache、轻巧的1 Blog Cacher或是hyper Cache都可以启动Gzip网页压缩功能。如果你没有装这些插件,或是这些插件虽然启动了Gzip功能但是检测出来却没有压缩,那你可能需要通过插件GZippy来启动,不过通过这个插件来启动时,记得缓存插件本身的Gzip要关掉,否则可能造成冲突。
  第一步:打开IIS,启用HTTP压缩服务
  右击“网站”->“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“ 压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”;
  第二步:启用web服务
  第三步:修改MetaBase.xml
  开始 > 运行中输入 c:windowssystem32inetsrv,找到 MeteBase.xml,先备份,再修改。(有的服务器不需要修改此文件便可以使用)
  ⅡS或Apache启用GZIP压缩优化网站
  先来了解一下GZIP,gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式。软件的作者是Jean-loupGailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4。
  gzip可以极大的加速网站.有时压缩比率高达80%,近来测试了一下,最少都有40%以上,还是相当不错的.在Apache2之后的版本,模块名不叫gzip,而叫mod_deflate
  1、Apache启用gzip
  如果要开启gzip的话,一定要打开下面二个模块.
  LoadModule headers_module modules/mod_headers. so
  LoadModule deflate_module modules/mod_deflate. so
  设置压缩比率,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源.
  DeflateCompressionLevel 3
  AddOutputFilter DEFLATE html xml php js css
  
  SetOutputFilter DEFLATE
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4.0[678] no-gzip
  BrowserMatch bMSIE !no-gzip !gzip-only-text/html
  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|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
  Header append Vary User-Agent env=!dont-vary #对代理的设置
  
  下面二个测试网站
  测试数据对css
  Original Size: 44 KB
  Gzipped Size: 10 KB
  Data Savings: 77.27%
  测试数据js
  Original Size: 6 KB
  Gzipped Size: 2 KB
  Data Savings: 66.67%
  测试数据php
  Original Size: 62 KB
  Gzipped Size: 15 KB
  Data Savings: 75.81%
  上面只是随机拿的几个数据,看的出来,使用了gzip压缩后文件小多了.
  另外讲一下,有关squid对gzip的处理
  在squid中,对同一个URL只保留一份缓存。对于如果不同browser(是否支持压缩)如果频繁交替访问,例如:对某个cache住的目标,一个http/1.0请求可能会导致squid强制更新其缓存。但接下来的另一个http/1.1请求又会导致squid再次更新缓存。这样那squid缓存数据就要频繁更新,这就极大的降低了cache命中率。
  不过还好,现实环境中不支持压缩的browser毕竟是很少的情况,所以对于缓存命中率的降低很有限.
  这个神通广大的模块就是mod_gzip.它通过用和gzip一样的压缩算法对apache发出的页面进行压缩,可能的话可以把页面压缩成为原来大小的十份之一。哪,如果10K的页面只要传1K这不就是提速10倍嘛。当然一般网页只可以达到3-6倍。那也很不错。对吧。连google这样一个大的网站都采用这个技术。你还不快跟上?
  这样一个好东东,来来来,我告诉你如何安装:分3步,1、下载,2、修改配置,3、测试。
  安装,配置
  把mod_gzip放到你的apache的源代码目录下,新建一个mod_gzip目录如果需要补丁(针对1.3.17. la版) 还需运行:
  patch mod_gizp.c
  按你需要,在配置中选择动态DSO或静态编译进apache系统。如何处理在README中讲得很清楚,如-add-module=mod_gzip.c,make,make install等等。这里不多讲。
  把下列配置加入httpd.conf尾部。
  # MOD_GZIP configuration
  mod_gzip_on Yes
  mod_gzip_minimum_file_size 1002
  mod_gzip_maximum_file_size 0
  mod_gzip_maximum_inmem_size 60000
  mod_gzip_item_include mime “application/x-httpd-php”
  mod_gzip_item_include mime text/*
  mod_gzip_item_include mime “httpd/unix-directory”
  mod_gzip_dechunk Yes
  mod_gzip_temp_dir “/tmp”
  mod_gzip_keep_workfiles No
  mod_gzip_item_include file “.php3"modgzipitemincludefile".txt"   mod_gzip_item_include file ".txt"  modg​zipi​temi​ncludefile".txt”
  mod_gzip_item_include file “.html"modgzipitemexcludefile".css"   mod_gzip_item_exclude file ".css"  modg​zipi​teme​xcludefile".css”
  mod_gzip_item_exclude file “.js$”
  在保存修改后运行
  …/bin/apachectl configtest确保配置修改无误。
  然后用apachectl restart 指令重起服务。
  修改,测试
  在宣布做好了之前在测试一下是优秀程序员的习惯。为了尽量不影响你的用户的浏览,我们可以用把新的apache驱动在8080端口上或者用指令控制mod_gzip起作用的目录,而不是一下子全用mod_gzip.
  用法如下:
  MOD_GZIP configuration
  没有问题后你就可以让你的用户很开心的发现’XX网站现在好快哦。’
  Mod_gzip真的很神奇,100K的HTML大 文档只要12K就可以传到用户端了。越先采用这个技术你的用户对你的网站的高速度印象就越深。不过有所得必有所失,由于解压是在客户端进行的,效果和用户 的浏览器有一定关系。
  2、ⅡS启用gzip
  现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。
  ⅡS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面。所以要打开这个选项,还要费些功夫。
  在服务器中新建一个文件夹,名称任意,给本机用户添加写入权限。
  进入IIS管理器,IIS管理器>网站 右键进入“属性”面板,切换到“服务”选项卡,勾选HTTP压缩中两项,如果仅仅想压缩静态文件,那么第一项就算了。临时目录就是刚才新建的那个文件夹。
  确认后进入IIS管理器>Web服务扩展,点击“添加一个新的Web服务扩展”,在弹出的面板中首先输入扩展名,名称任意;然后在“要求的文件”中添加文件,其实就是输入gzip.dll所在的路径。如果不是特立独行的服务器,那么这个位置基本上就是“C:WINDOWSsystem32inetsrvgzip.dll”,确认后记得将“设置扩展状态为允许”勾选。
  进入C:WINDOWSsystem32inetsrv这个目录下,找到一个叫MetaBase.xml的文件,直接修改保存是不行的,因为IIS服务正在使用该文件。强烈建议先备份该文件,再在一个副本上修改。用文本编辑器打开副本,用查找功能找到“IIsCompressionScheme”,共有3处,都在一起,分别是deflate、gzip和Parameters,deflate也是一种压缩格式,不过性能上不如gzip。需要修改的是deflate和gzip这两段,参数基本一样,都要修改。
  HcDynamicCompressionLevel是用来设置压缩率,默认是0,最高是10。低压缩级别生成稍大一些的压缩文件,但对 CPU 和内存资源的总体影响较小。高压缩级别通常会生成较小的压缩文件,但会占用较多的 CPU 时间和内存。有人说设置成9性价比最高。
  HcFileExtensions是用来设置压缩的静态文件扩展名,默认是htm、html、txt,根据网站的自身情况添加扩展名,最基本的是js、css。添加时注意原有的换行格式。
  HcScriptFileExtensions是用来设置压缩的动态文件扩展名,默认是asp、dll和exe,根据需要自行添加扩展名,无外乎aspx、php等。可以将这一项的默认删除留空,这样所有的动态响应都以压缩方式发送。另外,还将动态压缩 HcFileExtensions 中所有未指定的静态文件类型,并且因此不将它们放入缓存。同样地,必须将 HcDoDynamicCompression 设置为 true,以进行动态压缩。
  把IIS服务停止,用刚才保存的副本替换原有的MetaBase.xml
  重启IIS服务,如果一切正确,那么Gzip就启动了。
  可以在这个地址检测Gzip的工作情况。
  置文件在windows目录下的system32/inetsrv/metabase.xml
  找到"/LM/W3SVC/Filters/Compression/deflate"和Location ="/LM/W3SVC/Filters/Compression/gzip"
  两个配置段内均有HcDynamicCompressionLevel=“5”,请选择你认为合适的数值,这里我设置的是5.
  如果要对动态网页进行压缩,则要修改如下配置项
  HcScriptFileExtensions=“asp
  dll
  exe”
  将你要压缩的文件的扩展名填进去就可以了。
  特别提示:这种压缩优化流量的方法,对于文本文件比较有效,大约能压缩50%(我一个200k左右的页面包含js和css压缩后118k左右),图片则效果很差。另外压缩比高对于服务器来说也会导致cpu负载过高,所以建议不要设置太高的压缩比。
  修改配置文件时请暂停IIS服务,保存后重新启动服务即可。
  用Nginx的gzip模块提升网站访问效率
  Nginx自带的有gzip模块,这个模块支持在线实时压缩输出数据流。经过良好的配置优化,可以大幅的提升网站的输出效率。
  效果显而易见。
  四、指令
  [#gzip gzip] [#gzip_buffers gzip_buffers] [#gzip_comp_level gzip_comp_level] [#gzip_min_length gzip_min_length] [#gzip_http_version gzip_http_version] [#gzip_proxied gzip_proxied] [#gzip_types gzip_types]
  五、指令详解
  gzip
  语法:gzip on|off
  默认值:gzip off
  作用域:http,server,location,if (x) location
  开启或者关闭gzip模块
  gzip_buffers
  语法:gzip_buffers number size
  默认值:gzip_buffers 4 4k/8k
  作用域:http,server,location
  设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
  如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
  gzip_comp_level
  语法:gzip_comp_level 1…9
  默认值:gzip_comp_level 1
  作用域:http,server,location
  gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。
  gzip_min_length
  语法:gzip_min_length length
  默认值:gzip_min_length 0
  作用域:http,server,location
  设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。
  默认值是0,不管页面多大都压缩。
  建议设置成大于1k的字节数,小于1k可能会越压越大。即: gzip_min_length 1024
  gzip_http_version
  语法:gzip_http_version 1.0|1.1
  默认值:gzip_http_version 1.1
  作用域:http,server,location
  识别http的协议版本。由于早期的一些浏览器或者http客户端,可能不支持gzip自解压,用户就会看到乱码,所以做一些判断还是有必要的。注:21世纪都来了,现在除了类似于百度的蜘蛛之类的东西不支持自解压,99.99%的浏览器基本上都支持gzip解压了,所以可以不用设这个值,保持系统默认即可。
  gzip_proxied
  语法:gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] …
  默认值:gzip_proxied off
  作用域:http,server,location
  Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。
  off - 关闭所有的代理结果数据的压缩 expired - 启用压缩,如果header头中包含 “Expires” 头信息 no-cache - 启用压缩,如果header头中包含 “Cache-Control:no-cache” 头信息 no-store - 启用压缩,如果header头中包含 “Cache-Control:no-store” 头信息 private - 启用压缩,如果header头中包含 “Cache-Control:private” 头信息 no_last_modified - 启用压缩,如果header头中不包含 “Last-Modified” 头信息 no_etag - 启用压缩,如果header头中不包含 “ETag” 头信息 auth - 启用压缩,如果header头中包含 “Authorization” 头信息 any - 无条件启用压缩
  gzip_types
  语法:gzip_types mime-type [mime-type …]
  默认值:gzip_types text/html
  作用域:http,server,location
  匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。
  注意:如果作为http server来使用,主配置文件中要包含文件类型配置文件
  http{ include conf/mime.types; …}
  如果你希望压缩常规的文件类型,可以写成这个样子
  http {
  include conf/mime.types;
  gzip on;: gzip_min_length 1000;
  gzip_buffers 4 8k; : gzip_http_version 1.1;
  gzip_types text/plain application/x-javascript text/css text/html application/xml;
  …
  }

网站的gzip压缩对网站的收录和权重有没有影响?
官方回复:gzip对收录和权重没有影响。对搜索引擎唯一的影响,是抓取速度会快一些。相反在当前是被提倡的,速度快的网站更能获得用户和搜索引擎的好感,并且在站长平台网站优化建议中也提倡站长使用gzip压缩,提升网站速度。

喜欢建站的朋友,你们肯定也想要获取这些建站源码,我花了将近1年的时间为你们准备了,文末点个赞或者 关注我 关注我 关注我。

28000个网站源码:https://www.dzy10.com

3000个游戏源码:https://www.dzy10.com

5000个小程序:https://www.dzy10.com

网页如何开启Gzip压缩相关推荐

  1. Apache开启Gzip压缩,LAMP网页压缩

    源自http://hi.baidu.com/mrlbz/blog/item/69447759beedafc19d82046b.html 我Wordpress的主机为LAMP架构,即Linux+ Apa ...

  2. linux系统如何开启网页是否压缩,Windows或Linux下Apache开启GZIP压缩 | kTWO-个人博客...

    在搭建web服务器的时候有时因为服务器带宽比较小,而网站内容较多,内容加载较慢,此时建议站长们开启Apache的GZIP压缩功能,注意:开启GZIP之后会增加服务器的压力,不过一般服务器还是可以承受的 ...

  3. PHP网站开启gzip压缩,php中开启gzip压缩的2种方法代码

    Gzip网页压缩可以大幅度提升网站访问速度,对于网站在国外的站来说,这是必不可少的一步,提升网页打开速度非常明显,现在我们就系统的来认识一下这个Gzip的庐山真面目. 一.何为GZIP GZIP概念 ...

  4. 万网m3 windows linux切换,万网M3虚拟主机开启Gzip压缩加速

    No牛网做的其他网站用的是万网的Linux服务器的M3主机,需要开启Gzip压缩,万网M系列的主机默认是没有开启Gzip功能的,万网的说明里面也没有开启Gzip的方法,但是万网的M系列主机是支持.ht ...

  5. webpack+nginx开启gzip压缩部署项目

    首先在服务器安装nginx sudo apt update sudo apt install nginx 安装完毕后将前端项目打包 webpack.output.publicPath里配置资源基础路径 ...

  6. Vite打包性能优化之开启Gzip压缩

    在使用 vite 进行项目打包时,默认已经帮我们做了一些优化工作,比如代码的压缩,分包等等.除此之外,我们还有一些可选的优化策略,比如使用 CDN ,开启 Gzip 压缩等.本文会介绍在 vite 中 ...

  7. godaddy php5.ini,Godaddy主机如何开启GZIP压缩 | Godaddy美国主机中文指南

    为什么要开启GZIP压缩呢?原因很简单:使用GZIP压缩技术能让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到 ...

  8. apache开启 gzip 压缩

    apache开启 gzip 压缩 这里我使用的是Apache2.4.17 打开apache安装目录,找到conf目录,用记事本打开httpd.conf 文件. ctrl+f 查找 去掉 #LoadMo ...

  9. 服务器端如何开启GZIP压缩功能

    我们知道做好负载均衡对网站的正常运行,用户体验相当重要.在负载均衡中有一个必须要做的事情就是给服务器开启GZIP压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用. GZI ...

  10. Nginx开启Gzip压缩配置详解

    Nginx开启Gzip压缩配置详解 最近生产上发生了一些问题,原先所有的静态资源文件都是经过gzip压缩的,然而这几天突然都没有压缩了,经过一顿排查,发现是Nginx的配置有问题,借此机会详细了解了N ...

最新文章

  1. php 配置文件加密工具类,SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例)...
  2. Flink 1.11.0 发布,有哪些值得关注的新特性?
  3. Android自定义AlertDialog
  4. 好记性不如烂笔头,记录几个常用的Linux操作
  5. mysql修改主从复制id_mysql主从复制设置
  6. java 数组转字符串 字符串转数组,java高级面试笔试题
  7. Vector Packet Processing(VPP) (一)简介
  8. 知识图谱:刻画事物关系,沉淀领域知识!
  9. 网页设计中的背景流行趋势是什么?
  10. C Tricks(五)—— 比例和阈值的实现
  11. dynamic集合动态添加属性
  12. Java程序设计教程(第三版) 雍俊海 8.6 答案/代码
  13. 创建Oracle定时任务及其各项操作
  14. java9推迟_甲骨文宣布Java 9将会推迟到明年7月发布
  15. POJ 3264 线段树
  16. 2021-2027全球与中国雌二醇(CAS 50-28-2)市场现状及未来发展趋势
  17. ST MCSDK 初探
  18. MySQL8功能详解——角色
  19. 最高月薪18K,再努力一下,再前进一下,也许成功离你只有一步之遥~
  20. 黑吉辽沪冀晋六省联考 2017 BZOJ 486848694870487148724873

热门文章

  1. 2.4-2.8段地址x16+偏移地址=物理地址
  2. office2007无法卸载 无法安装
  3. Python简单换脸程序
  4. java uint,Java如何在java中解析uint8?
  5. Google Ads关键词不展示原因及解决方案
  6. rl滤波器原理_滤波器基本知识
  7. meethigher-与骗子之间的对招
  8. 实数系与实数定理(上)
  9. android 退出登录 一般的实现方法,Android应用退出登录的实现方法
  10. 全球与中国烧碱片市场深度研究分析报告