`
linmomo02
  • 浏览: 179019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

http 数据压缩

阅读更多

许多 web 服务具有发送压缩数据的能力,这可以将网络线路上传输的大量数据消减 60% 以上。这尤其适用于 XML web 服务,因为 XML 数据 的压缩率可以很高。

服务器不会为你发送压缩数据,除非你告诉服务器你可以处理压缩数据。

例 11.14. 告诉服务器你想获得压缩数据

>>> 
import
 urllib2, httplib

>>> 
httplib.HTTPConnection.debuglevel = 1

>>> 
request = urllib2.Request('http://diveintomark.org/xml/atom.xml'
)

>>> 
request.add_header('Accept-encoding'
, 'gzip'
)
        
1>>> 
opener = urllib2.build_opener()

>>> 
f = opener.open(request)

connect: (diveintomark.org, 80)
send: '
GET /xml/atom.xml HTTP/1.0
Host: diveintomark.org
User-agent: Python-urllib/2.1
Accept-encoding: gzip
                                    
2'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Thu, 15 Apr 2004 22:24:39 GMT
header: Server: Apache/2.0.49 (Debian GNU/Linux)
header: Last-Modified: Thu, 15 Apr 2004 19:45:21 GMT
header: ETag: "e842a-3e53-55d97640"
header: Accept-Ranges: bytes
header: Vary: Accept-Encoding
header: Content-Encoding: gzip
                           
3header: Content-Length: 6289
                             
4header: Connection: close
header: Content-Type: application/atom+xml

1 这是关键:一创建了 Request 对象,就添加一个 Accept-encoding 头信息告诉服务器你能接受 gzip 压缩数据。gzip 是你使用的压缩算法的名称。理论上你可以使用其它的压缩算法,但是 gzip 是 web 服务器上使用率高达 99% 的一种。
2 这是你的头信息传越网络线路的过程。
3 这是服务器的返回信息:Content-Encoding: gzip 头信息意味着你要回得的数据已经被 gzip 压缩了。
4 Content-Length 头信息是已压缩数据的长度,并非解压缩数据的长度。一会儿你会看到,实际的解压缩数据长度为 15955,因此 gzip 压缩节省了 60% 以上的网络带宽!
分享到:
评论

相关推荐

    .NET_Webservice数据压缩

    .NET_Webservice数据压缩. 以二进制的方式压缩 以微软自带类库进行 以XML文件压缩传输

    ajax+pako.js实现gzip数据压缩上传,解决post数据过长问题

    ajax+pako.js实现gzip数据压缩上传,解决post数据过长问题 http://blog.csdn.net/jodenhe/article/details/70983781

    swift-数据请求GZip数据压缩和解压缩问题

    数据请求 GZip数据压缩和解压缩问题

    silverlight 数据压缩例子

    silverlight 数据压缩例子,可在silverlight通信的时候使用,优化数据传输 http://www.dotnetdev.cn

    Java压缩数据文件并实现传输功能.rar

    Java压缩数据文件并实现传输功能,实例化套接字,在命令窗口输出提示信息,输出客户机地址,得到输出流 ,压缩输出流,设定缓冲区大小,读取数据,写入数据到文件,关闭输出流,关闭套接字。

    Gzip压缩技术以及压缩算法

    现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是...

    GZip流压缩&Web流压缩组件

    这种受带宽限制的Internet着实让很多人伤心,何不制作一个数据压缩程序,将数据压缩一下,让他变得快些呢,Web Server和IE提供了部分这样的功能,也就是将网页的内容进行压缩,但这仅仅是部分功能。  对于象地理...

    史上超高压缩软件2009

    由于用本压缩工具压缩的压缩包数据非常紧密,所以不支持压缩包内文件的增添,删除, 修改文件等功能,只有解压缩并整理后再重新压缩. 4.当给出解压目录时,此目录必须已经存在,否则将显示错误. 5.用"l"命令列出压缩包...

    Qt之zlib库实现gzip压缩解压源码

    该案例通过zlib实现gzip的压缩解压功能,包括解压gzip字符串、图片两个案例;提供了zlib1211的源码包和对应编译后生成的文件; 相应说明参考笔者博客:Qt笔记8--zlib实现gzip解压,链接...

    短网址 网址压缩

    为确保安全,升级前,请备份你的全部数据及程序文件。 apache需要开启伪静态支持,内含.htaccess文件。附一个我自已弄的nginx伪静态规则: location / { rewrite ^/(.+)$ /redirect.php?alias=$1 last; } iqiao...

    ZLIB数据压缩库Ygloo-external-zlib.zip

    Ygloo-external-zlib 是一个通用的 ZLIB 数据压缩库。注意事项:- 对于 Windows DLL 版本,请参见 win32/DLL_FAQ.txt- 不为 64 位 Irix, deflate.c 编译环境做任何优化。-在 32 位环境下,一个 libpng 测试失败。SGI ...

    Qt实现简单的Http Post数据传输

    Qt实现简单的Http Post数据传输。内含说明文档,和我写这个工程时的参考资料链接。我这里是可以使用的。如果你下载不能使用可以看一下是不是软件环境的问题。愿和大家一起进步。

    短网址压缩系统 v0.1.zip

    短网址压缩系统 ,缩短网址 ...请求:向 http://13yd.cn/ 发送post请求 ,发送数据包括 url=长网址 返回:txt文本 2. 显示原网址 请求:向 http://13yd.cn/ 发送post请求 ,发送数据包括 yuan=短网址 返回:txt文本

    Compress页面压缩

    作为一个致力于网络信息的深度挖掘的公司,成都协诚数码科技发展有限公司急人之所急,推出了实时数据压缩模块HTTP Compression Module。 HTTP Compression Module能为网站带来什么? HTTP Compression Module能...

    FFmpge视频压缩(从图像到H264视频流)

    这个是用FFmpeg所做的视频压缩工程,经过了本人封装,FFmpeg也已经配置在工程里面。不过由于本人使用了OpenCV进行了图片的读取和数据区的获得,还需要配置图片数据区才能使用。关于本工程对应的博客说明地址如下...

    Vue CLI3 开启gzip压缩文件的方式

    html、js、css文件甚至json数据都可以用它压缩,可以减小60%以上的体积。 webpack在打包时可以借助 compression webpack plugin 实现gzip压缩,首先需要安装该插件: npm i -D compression-webpack-plugin 在vue cli...

    自己整理的一个JS函数库 AJAX dom隐藏显示 数据整理 只有12KB 压缩后5kb

    自己整理的一个JS函数库 AJAX dom隐藏显示 数据整理 只有12KB 压缩后5kb 使用方法 引入文件 然后就可以直接使用了 具体函数方法如下 /* $(id) 根据元素id返回对象 N(name, i) 根据元素name返回对象,可能会有多个...

    第4章 状态压缩类动态规划 测试数据.rar

    http://ybt.ssoier.cn:8088 信息学奥赛一本通(提高篇)测试数据\第5部分 动态规划(提高篇) 第4章 状态压缩类动态规划 测试数据

    asp.net web HTTP压缩组件 v2.0

    HTTP Compression Module是一个ASP.NET页面和资源压缩模块,ASP.NET的VIEWSTAT虽然好用但是会使输出的HTML代码臃肿不堪,在带宽资源极为有限的国内表现的尤其明显,但凡ASP.NET的网站打开速度明显缓慢,造成了ASP...

    zlib常用解压缩开源库

    zlib是一套通用的解压缩开源库,提供了内存(in-memory)压缩和解压函数,能检测解压出来的数据完整性,由Jean-loup Gailly与Mark Adler所开发;zlib初始版本于1995年5月1日发表。zlib支持gzip文件(.gz格式)的读写...

Global site tag (gtag.js) - Google Analytics