gzip的介绍以及web服务器对文件压缩的支持

GZIP是一种常见的互联网数据压缩格式,用于减少文件大小和存储空间。当浏览器的Accept-Encoding字段包含""gzip,deflate""时,服务器可使用gzip压缩文件以加快下载速度。文章介绍了gzip在HTTP中的应用,包括静态压缩和动态压缩,并详细讲解了如何在Java、Tomcat、JBoss等环境中配置和实现gzip压缩。此外,还提到了第三方工具tk-filters的使用和自定义压缩实现的方法。" 100665824,9003900,ESP32串口Select实现详解,"['嵌入式开发', '物联网', 'C/C++', '微控制器', 'ESP32']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GZIP和HTTP

       GZIP是一种文件压缩标准,能够大幅度的减少文件本身大小和占用的存储空间。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

通过HttpWatch或者burp suite等抓包工具,可以查看http头部 Accept-Encoding的值,如果该字段显示的是"gzip,deflate",就代表该浏览器能够识别gzip格式的文件。


这样服务器就可以将文件压缩成gzip,以便减少浏览器下载文件的时间。gzip和服务器对处理gzip过程简介:

http://www.cnblogs.com/witxjp/archive/2003/12/17/1986210.html


http://www.cnblogs.com/linzhenjie/archive/2013/03/05/2943635.html

静态压缩和动态压缩

      可以预先将html/css等文件,使用gzip工具直接压缩,将压缩后的文件放在服务器,浏览器直接引用压缩后的文件就可以了,这样可以节省动态压缩带来的开销。比如
myapp.js文件,通过压缩后变成myapp.gzjs。在html中可以通过<script type="text/javascript" src="myapp.gzjs"></script>。


gzip的实现

1、java jdk内置对gzip的支持,可以通过使用GZIPInputStream和GZIPOutputStream进行压缩和解压缩。
这2个类使用都比较简单,这里不再赘述。


2、主流的web服务器也都内置了对于文件的gzip压缩功能,比如jboss和tomcat。
tomcat的配置可以参考http://blog.youkuaiyun.com/yanghongchang_/article/details/8047577(优化网站响应时间tomcat添加gzip)


weblogic的配置可以参考http://www.blogjava.net/xggc63/archive/2011/05/25/342979.html
jboss的配置如下,在jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml中添加

<Connector port="8080" address="${jboss.bind.address}"    
         maxThreads="250" maxHttpHeaderSize="8192"
         emptySessionPath="true" protocol="HTTP/1.1"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true"  URIEncoding="utf-8"  
   compressableMimeType="text/html,text/xml,text/css,text/javascript,application/x-javascript,application/javascript" 
   compressionMinSize="2048" noCompressionUserAgents="gozilla,traviata" />


3、也可以使用第三方工具,实现gzip压缩和缓存等.这里使用的是tk-filters,
可以到http://sourceforge.net/projects/filterlib/ 下载,使用方式也比较简单,
参考http://blog.youkuaiyun.com/yanghongchang_/article/details/8047577
http://blog.youkuaiyun.com/coooliang/article/details/8974102

 

4、自定压缩实现
http://blog.chinaunix.net/uid-26284395-id-3043664.html
http://www.cnblogs.com/hemingwang0902/archive/2012/01/12/compression-filter.html

http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html (Two Servlet Filters Every Web Application Should Have


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值