登录  /  注册
HTTP协议分析系列(九)------http协议与内容压缩
php中文网
发布: 2016-08-08 09:31:46
原创
1030人浏览过

观察我们打开163的一篇新闻,看到如下相应头信息,看到如下响应头信息,注意,Content-Length


同时,我们点击右键保存源码,保存的文件大小


思考:Content-Length在之前的学习中,代表返回的主体长度

但此处为什么返回的主体长度和content-length不一致呢?

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

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

压缩的过程是这样:


刚才那个情况的原因,服务器对页面进行了压缩content-length是“压缩”后的长度

如何在apache启用压缩功能?

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

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

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

答:压缩也是要耗CPU资源的,图片/电影/视频等文件,压缩效果也不好。

一般是压缩文本格式的文件。


DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
登录后复制

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

答:客户端允许发一个accept-Encoding头信息,与服务器协商

这个例子可以看出chrome浏览器这三种类型

火狐只支持两种压缩方式

小技巧:当我们在采集时,可以不发送Accept-Encoding信息,这样采集到的直接是源码,当然也可以采集gzip(提高速度),再用gzip解压内容。


以上就介绍了HTTP协议分析系列(九)------http协议与内容压缩,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学