当前位置: 技术问答>linux和unix
www.qq.com的数据包让我迷茫
来源: 互联网 发布时间:2016-04-30
本文导语: 这是关于http数据包的内存提取的问题,前面有关于如何获取http数据包的内存以及如何解码http数据包的内容的帖子。现在遇到一个问题,提取http数据包的时候,我大体上将数据类型划分为一下几种: text/html gzip chunked...
这是关于http数据包的内存提取的问题,前面有关于如何获取http数据包的内存以及如何解码http数据包的内容的帖子。现在遇到一个问题,提取http数据包的时候,我大体上将数据类型划分为一下几种:
text/html
gzip
chunked
未有以上标识的数据包www.qq.com格式如下:
HTTP/1.0 200 OK
Date: Tue, 18 Nov 2008 09:32:13 GMT
Server: Apache
Accept-Ranges: bytes
Cache-Control: max-age=120
Expires: Tue, 18 Nov 2008 09:34:13 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=GB2312
Age: 4
X-Cache: HIT from rainny.qq.com
Via: 1.0 rainny.qq.com:80 (squid/2.6.STABLE5)
Connection: close
对于gzip压缩的数据包的数据,其头部有gzip的大小,这个问题已经解决;chunked的尽管没有大小,因为其是独立的,同时其内容也是gzip格式的,因此可以顺利解压。
而上面的www.qq.com的格式的数据包,它不是chunked的也没有表明大小,因此,不知道它的大小,也就没有办法保证其gzip数据的完整性,迷茫中...
text/html
gzip
chunked
未有以上标识的数据包www.qq.com格式如下:
HTTP/1.0 200 OK
Date: Tue, 18 Nov 2008 09:32:13 GMT
Server: Apache
Accept-Ranges: bytes
Cache-Control: max-age=120
Expires: Tue, 18 Nov 2008 09:34:13 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=GB2312
Age: 4
X-Cache: HIT from rainny.qq.com
Via: 1.0 rainny.qq.com:80 (squid/2.6.STABLE5)
Connection: close
对于gzip压缩的数据包的数据,其头部有gzip的大小,这个问题已经解决;chunked的尽管没有大小,因为其是独立的,同时其内容也是gzip格式的,因此可以顺利解压。
而上面的www.qq.com的格式的数据包,它不是chunked的也没有表明大小,因此,不知道它的大小,也就没有办法保证其gzip数据的完整性,迷茫中...
|
HTTP协议就是TCP协议上的一个封装,不管是HTTP层还是TCP层,应该都可以解决这个问题。