HTTP与内容压缩:

观擦:我们打开163的一篇新闻:
看到如下响应头信息。注意.Content-Length:
这里写图片描述
同时。我们点右键保存其源码,得到的文本文件大小
这里写图片描述
思考:Content-Length在之前的学习中,我们知道,代表返回的主体的长度
但此处,为什么返回的主体长度和Content-Length不一致?

原因在于:Content-Encoding:gzip这个响应头信息在作用

原理:为了提高网页在网络上的传输速度,服务器对主体信息进行压缩。
如常见的gzip压缩,deflate压缩,comperss压缩一集goole chrome正在推的sdch压缩

压缩的过程是这样的:
这里写图片描述
刚才那个情况的原因—-服务器对页面进行了压缩,而content-length是”压缩后”的长度

如何在apache启用压缩功能?

1.开启deflate模块。或gzip模块

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

2.在conf文件中,写如下代码

<IfModule mod_deflate.c>
DeflateCompressionLevel 6  #压缩级别为6,可选1-9,推荐为6
AddOutputFilterByType DEFLATE text/plain  #压缩文本文件
AddOutputFilterByType DEFLATE text/html  #压缩html文件
AddOutputFilterByType DEFLATE text/xml  #压缩xml文件
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/ress+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

为什么要指定文件类型来压缩?
答:压缩也是要耗CPU资源的,图片/视频等文件,压缩效果也不好,一般压缩文件格式
这里写图片描述
这里写图片描述
小技巧:当我们在采集时,可以不发送AcceptEncoding信息,这样采集直接是源码
当然,也可以采集gzip(提高速度),再用Php解压gzip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值