apache/php 开启 gzip压缩

Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。

利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。

网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另一个潜在的好处是Gzip与搜索引擎的抓取工具有着更好的关系。例如 Google就可以通过直接读取gzip文件来比普通手工抓取更快地检索网页。在Google网站管理员工具(Google Webmaster Tools)中你可以看到,sitemap.xml.gz 是直接作为Sitemap被提交的。

而这些好处并不仅仅限于静态内容,PHP动态页面和其他动态生成的内容均可以通过使用Apache压缩模块压缩,加上其他的性能调整机制和相应的服务器端 缓存规则,这可以大大提高网站的性能。因此,对于部署在Linux服务器上的PHP程序,在服务器支持的情况下,我们建议你开启使用Gzip Web压缩。

配置php.ini文件开启gzip

打开php.ini文件,找到zlib.output_compression = Off

//将
zlib.output_compression = Off
zlib.output_compression_level = -1

//改成
//zlib.output_compression默认值为Off,你可以将其设置为On,或者output buffer size(默认为4k)
zlib.output_compression = On
//zlib.output_compression_level代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩
zlib.output_compression_level = 6
注意:
默认php是不开启zlib整站压缩输出的,而是通过对需要压缩输出的页面使用ob_gzhandler函数实现,两者只能二选一,否则会报错。

配置apache开启gzip

//打开apache 配置文件httpd.conf,找到
#LoadModule deflate_module modules/mod_deflate.so
#LoadModule headers_module modules/mod_headers.so
//将#号去掉,开启模块

//增加下列代码    
DeflateCompressionLevel 9  
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/json application/xml
AddOutputFilter DEFLATE js css
AddOutputFilter INCLUDES .shtml .htm .xml .php .html重启服务即可

通过站长工具即可检测网站是否已经开启gzip,如下图

QQ截图20180320230506.png

猿小莫的博客压缩比为61.81%,效果不错,呵呵~~~

图片启用gzip压缩会适得其反

一些开发者使用HTTP压缩那些已经本地已经压缩过的文件,而这些已经压缩过的文件再次被GZip压缩时,是不能提高性能的,表现在如下两个方面。

首先,HTTP压缩需要成本。Web服务器获得需要的内容,然后压缩它,最后将它发送到客户端。如果内容不能被进一步压缩,你只是在浪费CPU做无意义的任务。

其次,采用HTTP压缩已经被过压缩的东西并不能使它更小。事实上,添加标头,压缩字典,并校验响应体实际上使它变得更大。

因此某些开发者使用gzip压缩图片后,反而造成图片体积更大的效果。

 文章来源:apache/php 开启 gzip压缩 | 猿小莫的博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: org/apache/http/httpresponse是一个jar包,它是Apache HttpClient库的一部分。HttpClient是一个用于发送HTTP请求和接收HTTP响应的开源Java库。它提供了灵活且简单易用的API,可以用来开发基于HTTP协议的客户端应用程序。 org/apache/http/httpresponse jar包中的HttpResponse类是HttpClient库中的一个重要组件,它代表了从服务器返回的HTTP响应。HttpResponse类提供了许多有用的方法,可以让开发人员获取响应的状态码、协议版本、响应头信息以及响应体内容等。开发人员可以通过这些方法来处理服务器返回的响应,以便根据具体需求执行相应的操作。 使用org/apache/http/httpresponse jar包,可以轻松地发送HTTP请求并处理服务器返回的响应。开发人员可以使用HttpResponse类的方法来检查请求是否成功、获取响应的内容以及处理可能的异常情况。此外,该jar包还提供了其他相关的类和方法,以支持更广泛的HTTP客户端开发需求。 总之,org/apache/http/httpresponse jar包是用于处理HTTP响应的Apache HttpClient库的一部分。它提供了方便易用的接口和功能,使开发人员能够快速、高效地开发基于HTTP协议的客户端应用程序。 ### 回答2: org/apache/http/httpresponse是一种Java库中的jar包,它提供了HTTP协议中的响应对象的功能。它是Apache HttpComponents项目的一部分,该项目为开发人员提供了处理HTTP请求和响应的丰富工具和实用程序。使用这个jar包,我们可以方便地创建、操作和处理HTTP响应对象。 org/apache/http/httpresponse jar包提供了一系列类和接口,其中最重要的是HttpResponse类。HttpResponse类代表了一个HTTP响应的实例,它包含了响应状态码、头部信息和响应体等重要属性。我们可以使用HttpResponse类的方法来获取和设置这些属性,以及获取响应的内容。 除了HttpResponse类,org/apache/http/httpresponse jar包还提供了其他的类和接口,用于处理HTTP响应的各个方面。例如,我们可以使用org/apache/http/httpresponse jar包提供的StatusLine类来获取和设置响应状态码和原因短语。我们还可以使用org/apache/http/httpresponse jar包的Header接口和相关类来处理响应头部信息。 总之,org/apache/http/httpresponse jar包是一个强大的工具,它使我们能够方便地处理HTTP响应。无论是创建、操作还是处理HTTP响应,使用这个jar包都能大大简化开发过程,并提供了丰富的功能和灵活性。 ### 回答3: org/apache/http/httpresponse 是 Apache HttpComponents 项目中的一个 jar 包。HttpComponents 项目是一个开源的、全面的 HTTP 协议实现框架,提供了客户端和服务器端的各种功能,包括处理 HTTP 请求和响应、创建和管理连接池、处理HTTP头、处理HTTP cookies 等。 org/apache/http/httpresponse 这个jar包是项目中的一部分,它包含了 HTTP 响应对象的实现。在使用该包时,可以方便地创建一个 HTTP 响应对象,设置响应的状态码、响应头、响应数据等属性,并提供一些操作方法来获取和修改这些属性。 使用 org/apache/http/httpresponse 这个jar包,我们可以在 Java 程序中轻松地发送 HTTP 请求并处理响应。通过使用 HttpResponse 类和相应的方法,我们可以获取响应的状态码、响应头信息以及响应数据,并进行处理和分析。例如,我们可以根据状态码来判断请求是否成功,根据响应数据来进行具体的业务处理。 此外,org/apache/http/httpresponse 这个jar包还提供了一些其他有用的功能,例如可以设置重定向、处理压缩和解压缩、处理会话管理等。使用这个jar包,我们可以构建强大的 HTTP 客户端和服务器端应用程序,以满足各种复杂的需求。 总之,org/apache/http/httpresponse jar包是 Apache HttpComponents 项目中的一个重要组成部分,它提供了处理HTTP响应的功能,使用它可以方便地发送HTTP请求并处理响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值