-
gzip如何压缩
- 时间:2024-11-06 16:33:27
大家好,今天Win10系统之家小编给大家分享「gzip如何压缩」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
1.gzip怎么压缩
Gzip是一种HTML压缩算法,HTTP压缩是一种在Web服务器和浏览器之间传输压缩文本内容323131愚人节236313431303231363533 e 59 b 9 ee 7a 943133愚人节03566的方法。HTTP压缩的工作方式如下:
Web服务器收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀;
如果请求文件是HTML、CSS等静态文件,Web服务器检查请求文件的最新压缩文件是否已经存在于压缩缓冲区目录中;
如果请求文件的压缩文件不存在,Web服务器将未压缩的请求文件返回给浏览器,并将请求文件的压缩文件存储在压缩缓冲目录中;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求的文件是动态文件,如ASPX,则Web服务器会动态压缩内容并将其返回给浏览器,并且压缩的内容不会存储在压缩的缓存目录中。
gzip压缩怎么做?大致:在contolpanel中打开gzip,打开http server的gzip,使用php本身的gzip。
IE6和Firefox都支持客户端gzip。在传输网页之前,先用gzip压缩,然后传输到客户端。客户端收到后,通过浏览器解压显示。
IIS6内置了对gzip压缩的支持。IIS6上gzip压缩的方法是:
如果需要压缩静态文件,可以先在硬盘上新建一个目录,为用户“IUSR_ machine name”设置写权限。如果压缩一个动态文件,就不用这么做了,因为它的页面每次都是动态生成的(页面动态生成),压缩完就放弃了。然后,在IIS管理器中,右键单击“网站”-属性,不是下面的某个网站,而是整个网站。进入“服务”选项卡,选择启用动态内容压缩和静态内容压缩。
然后选择网站下的服务器扩展并创建一个新的服务器扩展。你可以用任何你想要的名字。添加文件的路径如下:
然后启用此扩展。
此时,可以压缩静态内容,但是对于动态内容,不压缩aspx文件。我们只能修改它的配置文件。
在c : \ windows \ system32 \ inetsrv \下有一个MetaBase.xml文件,可以用记事本打开找到IIsCompressionScheme,它有三个同名的段。
分别是
2.怎样在服务器上开启gzip压缩
方法/步骤
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,他们两个紧挨着的,配置方法相同.
5 一切步骤都就绪了,我们看看是否开启成功了呢,那么怎样查看呢,方法有两种,一种是使用火狐的firebug,一种是使用站长工具查看,当然小编就知道这两种,或许还有其他方法,就不深入研究了.哇,开启成功了.大家是不是也想试试呢. 注意事项 配置数据库配置文件之前应该关闭iis,或者启用允许直接编辑数据库 在操作metabase.xml文件之前应该先备份一下,防止意外情况发生.
3.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管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。
然后选中网站下面那个服务器扩展,新建一个服务器扩展。可以用任何你想用的名字,下面的添加文件的路径是:
c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。
这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。
在c:\windows\system32\inetsrv\下面有个metabase.xml文件,可以用记事本打开,找到iiscompressionscheme,有三个相同名字的段,
分别是
前两段有基本相同的参数,在这两段的参数hcscriptfileextensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。hcdynamiccompressionlevel改成9,9是性价比最高的一个。 至此,怎么做gzip压缩的过程我们就都实现了,需要注意的是:网页启用了gzip压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。
4.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_module 这个模块,这个模块不是默认的,应使用 --with-http_gzip_static_module 的配置参数启用它
之后再配置中添加
这样便可开启静态压缩。
需要注意以下几点:
5.如何开启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:windowssystem32inetsrvgzip.dll,然后启用这个扩展。
这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。
在c:windowssystem32inetsrv下面有个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压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。
以上就是关于「gzip如何压缩」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
【此②文为Win10系统之家www.ghost580.net文♀章,转载请联系网站管理人员!】
相关文章
-
1.怎样在服务器上开启gzip压缩方法/步骤1双击iis服务器,右键点击网站,点击属性,然后点击服务,我们看到http压缩,然后在压缩应用程序文件,压缩静态文件中打钩,然后点击确定,第一步就完成了2然后我们右键点击web服务扩...
-
1.win7系统右键菜单没有winrar压缩选项怎么办1、安装了WinRAR,但没菜单项这种情况,大多是由于病毒或某种原因,导致右键中的WinRAR菜单项丢失,解决方法,先在开始菜单->所有程序,打开WinRAR软件;2、在WinRAR程序主界面,...
-
1.怎样在mac里压缩音乐,因为太大....1、如果你需要处理的文件不在桌面上,那么需要先点击【前往】---【电脑】2、在电脑窗口中的左侧,有【我的所有文件夹】、【应用程序】、【桌面】...【图片】这些选项。你能操作的也只有这些选项中的...
-
1.如何压缩图片文件大小在线压缩图片大小最简单的办法,比如用这个在线图片压缩的工具,想把图片文件的大小减到多少都行,直接设置一下数值,瞬间就能完成,你设置的文件大小是多少,他压缩完输出的文件体积大小就是多少,...