今天在获取HTTP报文头的Accept-Encoding时,在控制台蹦出个gzip和deflate,有些陌生,只是知道这是两种压缩算法。那么它们到底有什么不同呢?这里转载一位技术人员的文章,做一下详解。

我们在配置网站GZip压缩的时候,会发现有两个模块可以设置的,一个是GZip模块的参数配置,另一个是Deflate模块的参数配置,他们的设置方法是一样的。刚开始时我不太明白,这两地方有什么不同?网站开启GZip压缩要设置GZip模块还是Deflate模块?今天通过参考了相关的资料,明白了他们之间的几点区别。

gzip和deflate

HTTP定义了一种机制,一个Web客户机和Web服务器同意一压缩方案可以用来发送内容。这是使用接受编码和内容编码标头完成。有两种常用的HTTP压缩:DEFLATE和GZIP。

DEFLATE是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法。

GZIP是使用DEFLATE进行压缩数据的另一个压缩库。

gzip和deflate的几点区别(以Apache服务器为例)

如下是某些网友的意见:

Apache服务器通过mod_gzip和mod_deflate这两个地方来开启网站的GZip压缩,不管使用mod_gzip 还是mod_deflate,此处返回的信息都一样。因为它们都是实现的gzip压缩方式。这里主要说说它们之间的几点区别。

第一、Apache Web服务器版本差异

Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。

第二、压缩质量

mod_deflate压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。

第三、对服务器资源的占用

一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。

简而言之,如果你的网站,每天不到1000独立访客,想要加快网页的加载速度,就使用mod_gzip。虽然会额外耗费一些服务器资源, 但也是值得的。如果你的网站每天超过1000独立访客,并且使用的是共享的虚拟主机,所分配系统资源有限的话,使用mod_deflate 将会是更好的选择。

原文传送门~

Spring MVC参数处理--gzip和deflate的几点区别相关推荐

  1. Spring mvc参数类型转换

    1,需求 有时候我们接收到的参数为String类型的,但是我们需要将它们转化为其他类型的如:date类型,枚举类型等等,spring mvc为我们提供了这样的功能. 2,配置文件 在springmvc ...

  2. spring mvc DispatcherServlet详解之interceptor和filter的区别

    首先我们看一下spring mvc Interceptor的功能及实现: http://wenku.baidu.com/link?url=Mw3GaUhCRMhUFjU8iIDhObQpDcbmmRy ...

  3. Spring MVC 参数自动绑定List的解决方案

    原文链接:https://my.oschina.net/weechang93/blog/779564 最近遇到一个问题,在项目中需要传入一组对象.以前都只遇到过传入一个对象.多个对象或者一组数组的情况 ...

  4. Spring MVC 参数校验

    Spring 4 以上支持JSR303校验API.所以必须要Spring4. 我用Spring boot,所以引入 <dependency><groupId>org.sprin ...

  5. Spring mvc 参数类型转换

    本质上接收和传入的参数都是String类型,所以Springmvc中内置了转换器 org.springframework.core.convert.support 包下.有: java.lang.Bo ...

  6. 【Spring-MVC基础】由浅入深-Spring MVC

    本文致力于由浅入深的去介绍,使用Spring MVC:细节比较多,希望能对正在观看的你有所帮助! 博主水平有限,难免存在缺陷和错误,欢迎大佬的指出与补充,谢谢! 0x01.认识Spring MVC 1 ...

  7. gzip和deflate的区别

    我们在配置网站GZip压缩的时候,会发现有两个模块可以设置的,一个是GZip模块的参数配置,另一个是Deflate模块的参数配置,他们的设置方法是一样的.刚开始时我不太明白,这两地方有什么不同?网站开 ...

  8. spring boot + spring mvc 原理解析

    前言:spring mvc 是当前最为流行的一种java WEB 框架.在还没有spring boot以前,通常搭配tomcat等容器进行web项目的开发.而现在spring全家桶越来越完善.慢慢脱离 ...

  9. java mvc 绑定_关于Java:Spring MVC:将请求属性绑定到控制器方法参数

    在Spring MVC中,很容易将请求参数绑定到处理请求的方法参数. 我只是使用@RequestParameter("name"). 但是我可以对request属性做同样的事情吗? ...

最新文章

  1. java日期相关的类正则表达式
  2. ORB-SLAM2地图存储加载系统
  3. 使用感知机训练加法模型
  4. SQL like 模糊查询
  5. 1365. 有多少小于当前数字的数字
  6. 中国移动锁定数据业务新战略
  7. altium designer快捷键大全
  8. 面试专题:Python面试题陷阱,你是否会中招?
  9. C++ (void)_r;什么意思
  10. 杰控连接mysql_工控自动化应用方案:杰控FameView组态软件在数据库连接和查询方面的应用...
  11. 没登录的计算机怎么远程桌面,没有远程登陆工具如何远程电脑 如何用向日葵实现远程登陆?...
  12. 为什么我不建议你裸辞做自媒体?
  13. JTS Java空间几何计算、距离、最近点、subLine等计算
  14. 7-2 买电影票 (C语言)
  15. linux 服务器内存清理内存缓存 详细说明 java jvm
  16. 农夫 狼 羊 白菜 java,农夫、狼、羊、白菜(回溯法求解)
  17. EOS智能合约开发系列(16): deferred action与inline action
  18. PLINK-GWAS学习3------数据质控之性别质控
  19. 理解torch.einsum(‘ijk,ilk->ijl‘, a,b)
  20. selenium控制日历控件

热门文章

  1. 自强不息nbsp;回报社会nbsp;——记残疾人电脑…
  2. 85022088通知面试java_阿里 CBU 前端 1 - 4 面 + hr 面面经 | 掘金技术征文
  3. android播放gif动画控件(例子)
  4. 复习微信小程序input组件和wxss样式写法。
  5. php 7天余额显示不出来的,为何我在余额宝里面放了两千元钱,三天以后还是看不到收益?请问手机余额宝的收益在哪里可以看到?还有余...
  6. 无刷电机驱动方案——高速吹风机
  7. 电玩世界——青龙羊毛
  8. two-stage-anchor-based-faster-rcnn进阶-mask rcnn:Mask R-CNN
  9. openstack使用1——windows7镜像的制作
  10. 飘窗到底实不实用?是留着还是砸了?