`
linmomo02
  • 浏览: 181461 次
  • 性别: 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数据压缩是针对基于.NET框架的Web服务在传输大量数据时的一种优化技术。它通过使用内置的类库,如GZipStream,对XML格式的数据进行压缩,从而减少网络带宽消耗,提高数据传输效率。 在.NET ...

    WCF 数据压缩传输

    **WCF 数据压缩传输** Windows Communication Foundation (WCF) 是微软提供的一种用于构建分布式应用程序的服务框架,它允许服务提供者和服务消费者之间进行安全、可靠、事务性的通信。在某些情况下,如在网络带宽...

    Silverlight + WCF 数据压缩

    在"Silverlight + WCF 数据压缩"这个主题中,我们将探讨如何在Silverlight客户端与WCF服务之间高效地传输数据,通过数据压缩来减少网络带宽消耗。 首先,理解数据压缩的重要性是关键。在网络通信中,如果数据量大,...

    java数据压缩传输

    在Java编程环境中,数据压缩和传输是常见的任务,特别是在大数据处理、网络通信和文件存储等领域。Java提供了多种库和API来实现数据的压缩与解压缩,以提高存储效率和网络传输速度。本篇文章将深入探讨Java中的数据...

    数据压缩程序

    在互联网上,HTTP/2 协议就引入了数据压缩,减少了网页加载时间。在音频和视频领域,MP3、AAC 和 H.264 等压缩标准极大地降低了音频和视频的存储需求,使得流媒体和移动设备上的媒体播放成为可能。 开源盛世ReadMe....

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

    为了解决这个问题,可以采用数据压缩技术,如gzip,配合JavaScript库pako.js来压缩数据,然后再通过Ajax发送。以下将详细讲解如何利用ajax和pako.js实现gzip数据压缩上传。 首先,理解gzip压缩原理。gzip是一种广泛...

    安赛公司推出高性能无损数据压缩加速卡赛驰1000——4个300MB_s压缩芯片,整体数据处理性能高达1.0GBps.pdf

    标题提到的“安赛公司推出高性能无损数据压缩加速卡赛驰1000”是一款专注于数据处理加速的硬件设备,特别强调了其在无损数据压缩领域的卓越性能。这款加速卡搭载了4个300MB/s的压缩芯片,整体数据处理速度高达1.0...

    Tomcat下,使用gzip压缩数据

    gzip是一种广泛使用的数据压缩算法,尤其适用于HTTP传输,它能够显著减少数据传输量,从而加快网页或应用程序的加载速度,降低服务器带宽消耗。 在Tomcat中,配置gzip压缩主要涉及到修改`conf/server.xml`文件。在...

    常用数据无损压缩算法分析

    例如,在HTTP协议中,可以使用GZIP或DEFLATE进行数据压缩,以减小响应体的大小,降低网络延迟。 四、无损压缩与有损压缩的对比 无损压缩与有损压缩的主要区别在于解压缩后是否能完全恢复原始数据。无损压缩适合对...

    Java数据压缩与传输实例

    结合数据压缩,我们可以将压缩后的数据通过Socket或HTTP传输。例如,可以先压缩文件,然后将其转换为字节数组,再通过Socket发送出去,接收端则解压后再保存为文件。 需要注意的是,在实际应用中,数据压缩和传输...

    数据压缩喜欢的朋友来看看

    数据压缩是一种信息技术,它涉及到如何有效地减少数据存储量和传输数据所需的带宽,同时保持数据的完整性。在当今数字化世界中,数据压缩扮演着至关重要的角色,尤其在存储和网络通信方面。它广泛应用于文件传输、...

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

    在Swift编程中,数据传输和存储时为了节省网络带宽和存储空间,通常会采用数据压缩技术。GZip(GNU Zip)是一种广泛使用的压缩算法,它可以在发送数据前将其压缩,接收端再进行解压缩,从而提高数据传输效率。本文将...

    ZLIB数据压缩算法源码

    ZLIB数据压缩算法是一种广泛应用的无损数据压缩库,由Jean-Loup Gailly和Mark Adler开发,主要用于网络传输和文件存储。它被广泛集成在许多操作系统、编程语言和应用程序中,如PNG图像格式和HTTP协议。源码分析有助...

    PB12.5 调用zlib对blob数据压缩

    它提供了高效的无损数据压缩算法,如DEFLATE,结合了LZ77滑动窗口压缩和霍夫曼编码。 在PB12.5中调用zlib对Blob数据进行压缩,首先需要确保你拥有zlib的相关文件,包括: 1. **zlib.dll**:这是zlib的动态链接库...

    iOS gzip压缩数据

    在iOS开发中,数据压缩是一种常见的优化手段,可以有效地减小数据传输的体积,提高网络通信的效率。本文将深入探讨“iOS gzip压缩数据”这一主题,包括gzip压缩的原理、如何在iOS应用中实现gzip压缩,以及使用ASI...

    数据压缩教程 还不错

    数据压缩是信息技术领域中的一个重要概念,它涉及到如何有效地减少数据量,以便于存储、传输或处理。本教程“笨笨数据压缩教程”很形象、生动地介绍了这一主题,旨在帮助初学者更好地理解和应用数据压缩技术。 在...

    利用JAVASCRIPT即你想那个GZIP压缩与解压缩

    GZIP是一种广泛使用的数据压缩格式,常用于减少网络传输的数据量,尤其是在HTTP请求中。 在描述中提到,“最近流行的网络游戏(FLASH)数据传输都是用GZIP进行压缩与解压缩的”,这是因为网络游戏往往需要大量数据...

    图片及数据的压缩与解压缩

    在IT行业中,数据压缩是一种非常重要的技术,它用于减少数据的存储空间和网络传输时间。在给定的压缩包文件中,我们关注的核心是“图片及数据的压缩与解压缩”,这涉及到`zlib.lib`、`zlib.h`和`zconf.h`这三个关键...

    手机端后台向前台传输数据的二进制压缩方法

    开发者可以学习如何将JSON数据转换为二进制,以及如何使用压缩库如Gzip进行数据压缩和解压。 总结来说,理解并掌握二进制压缩方法对于优化移动应用的数据传输至关重要。通过合理选择二进制编码格式、压缩算法,并...

Global site tag (gtag.js) - Google Analytics