HTTP协议与内容压缩(HTTP协议详解)


1. 什么是内容压缩

我们打开网易的一篇新闻,会看到如下响应头信息:

在这里插入图片描述

然后,我们点击右键保存其源码,得到文本文件大小如下:

在这里插入图片描述

问题:Content-Length代表返回的主体长度,但此处为什么返回的主体长度和实际源码大小不一致呢?

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

原理:为了提高网页在网络上的传输速度,服务器会对主体信息进行压缩,如常见的gzip压缩,deflate压缩,compress压缩,以及Google chrome推行的sdch压缩。

压缩过程:

在这里插入图片描述

所以content-length返回的主体长度是服务器端压缩后的长度。

2. 如何在服务器启用压缩功能

  1. 开启deflate模块或gzip模块

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

    在这里插入图片描述

    为什么要指定文件类型压缩?因为压缩也是要消耗CPU资源的,图片/视频等文件压缩效果不好。一般压缩文本格式的文件,

问题:服务器怎么知道浏览器支持gzip的?

答:客户端会发送一个Accept-Encoding头信息,与服务器协商,如下图:

在这里插入图片描述

上图可以看出chrome浏览器可以支持gzip,deflate,sdch压缩。


参考视频:https://www.bilibili.com/video/BV1js411g7Fw?p=8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值