HTTP之内容压缩

本文档介绍了HTTP协议中的内容压缩,旨在提高网络传输效率。通过示例解释了服务器如何使用gzip等压缩方式减小响应主体的大小,并在Apache服务器上配置启用压缩的步骤。同时,讨论了浏览器通过Accept-Encoding头信息与服务器协商压缩方式的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文档仅供HTTP初学者参考。


/**
HTTP协议 内容压缩
可以提高系统性能,大网站必备
**/


1.打开163的新闻,有如下的响应头信息
Content-Encoding:gzip
Content-Length:40955
  但是保存其源码的时候,得到的文本文件大小是 150k


content-length代表的是返回主体的长度,但是此刻是不一样的
原因就是 content-Encoding:gzip ,为了提高网页在网络上的传输速度,服务器对主体信息进行压缩
常见的压缩有gzip压缩 deflate压缩 compress压缩(linux上的) sdch(google chrome)
压缩的过程:
服务器返回的是压缩内容 ==>  客户端接收到压缩文件,再进行解压,在渲染页面


2.在Apache服务器启动压缩功能
1.在apache的主体文件 httpd.conf 中
去掉 default_module 前的 #
#LoadModule deflate_module modules/mod_deflate.so
2.接下来并不是写在 .htaccess 文件中
在conf文件中写如下
<infomodule mod_deflate.e>
DeflateConpressionLevel 6  #压缩级别为6,有1-9 推荐为6
AddOutputFilterByType DEFLATE text/plain 压缩文本文件 
AddOutputFilterByType DEFLATE text/html  压缩html文件
AddOutputFilterByType DEFLATE text/xml  压缩xml文件
</infomodule>


因为压缩也是要耗CPU资源的,而且 图片/视频等文件,压缩效果并不好,所以我们有选择性的压缩
所以我们一般压缩文本格式的文件。(html js xml css 等等...)
3.浏览器发送请求的时候,允许发送以下代码,
Accept-Encoding:gzip, deflate, sdch
与服务器协商----协商头信息。说明chrome浏览器支持gzip压缩 deflate压缩 sdch压缩
而火狐浏览器只支持gzip压缩和deflat
所以,当我们采集信息的时候,可以不发送Accept-Econding信息,这样直接采集到的直接是源码,也可以采集gzip提高速度,再利用php解压gzip内容




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值