您的位置:首页 > 理论基础 > 计算机网络

HTTP之内容压缩

2016-11-16 14:39 127 查看
此文档仅供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内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: