HTTP协议与内容压缩

作为一个程序员,F12查看网页是我们每一天都要做的事情,细心的码农们应该会发现一个问题或者了解这个事情,

那就是:页面源码文件的大小和响应头信息中的Content-Length不一致?

Content-length:代表返回主题长度。为什么不一致?

是由于:相应头信息中的Content-Encoding:gzip的作用。

原理:为了提高网页在网络上的运输速度,服务器对主体信息进行压缩(gzip压缩,deflate压缩,compress压缩,以及Google的sdch压缩)

返回压缩内容之后,客户端接受到压缩文件之后进行解压,再渲染页面。所以Content-Length是压缩后的大小。

如何在 Apache启用压缩功能:

1:开启:deflate模块或者gzip模块。在httpd.conf文件中,找到gzip或者deflate等把前面的#去掉

2:在conf文件中,写代码:

<ifmodule mod deflate.c>

DeflateCompressionLevel 6   #压缩级别为6,可选1-9 推荐6

AddOutputFileterByTypeDEFLATE text/plain  #压缩文本文件

AddOutputFileterByTypeDEFLATE texthtml  #压缩html文件

AddOutputFileterByTypeDEFLATE text/xml  #压缩xml文件

。。。

</ifmodule>

为什么要指定文件类型来压缩?

因为压缩也是要消耗CPU资源的,而图片、视频等文件,压缩效果不好。所以一般压缩文本格式文件。

说了这么多,你会提出疑问,服务器怎么会知道我们的浏览器支持gzip或者其他的压缩格式呢?

->在请求头信息中的Accept-Encoding 于服务器写上:gzip,deflate,sdch等压缩方式。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值