`
liyixing1
  • 浏览: 940855 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

Transfer-Encoding

阅读更多
请求:
POST /web_proxy.html HTTP/1.1
User-Agent: Java/1.6.0_33
Host: 127.0.0.1:82
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-type: application/x-www-form-urlencoded
Transfer-Encoding: chunked

6
test=1
6
test=2


回复类似

HTTP相应头:Transfer-Encoding
字面意思是「传输编码」。
实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码)。
Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压缩文本文件,能大幅减小体积。
内容编码通常是选择性的,例如 jpg / png 这类文件一般不开启,因为图片格式已经是高度压缩过的,再压一遍没什么效果不说还浪费 CPU。

而 Transfer-Encoding 则是用来改变报文格式,它不但不会减少实体内容传输大小,甚至还会使传输变大,那它的作用是什么呢?

本文接下来主要就是讲这个。Content-Encoding 和 Transfer-Encoding 二者是相辅相成的,对于一个 HTTP 报文,很可能同时进行了内容编码和传输编码。

通常我们可以通过Content-Length
来设置http相应的数据长度,但是如果数据长度未可知,就不行了

Transfer-Encoding 则可以告诉浏览器,内容是被分段发送的。
Transfer-Encoding: chunked  分块编码(chunked)

分块输入后,http resonse body的内容就会变成
数据长度(16进制,独占一行)
和数据长度一致的数据
数据长度2(16进制,独占一行)
和数据长度2一致的数据
0结尾是0



HTTP/1.1 200 OK
Server: nginx
Date: Sun, 03 May 2015 17:25:23 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Content-Encoding: gzip

1f
�H���W(�/�I�J

0
分享到:
评论

相关推荐

    http协议进阶之Transfer-Encoding和HttpCore实现详解

    主要给大家介绍了http协议之Transfer-Encoding和HttpCore实现的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

    php下HTTP Response中的Chunked编码实现方法

    进行Chunked编码传输的HTTP Response会在消息头部设置: Transfer-Encoding: chunked 表示Content Body将用Chunked编码传输内容。 Chunked编码使用若干个Chunk串连而成,由一个标明长度为0的chunk标示结束。每个...

    mime邮件-mime邮件头介绍

    下例是一个邮件的标准MIME头: Mime-Version: 1.0 //版本号:1.0 Content-Type: multipart/mixed; boundary="IMA.Boundary...Content-Transfer-Encoding: 7bit //编码方式:7位 Content-Description: cc:Mail note part

    关于PHP 如何用 curl 读取 HTTP chunked 数据

    通过本文给大家介绍php用curl读取http chunked数据的方法,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧

    HTTP协议Header详解.html

    目录: 头域定义 2 1 Accept 2 2 Accept-Charset 4 3 Accept-Encoding 5 ...41 Transfer-Encoding 35 42 Upgrade 35 43 User-Agent 36 .44 Vary 36 45 Via 37 46 Warning 38 47 WWW-Authenticate 39

    perl-MIME-Lite-3.30.0-6.mga6.noarch.rpm

    #'Content-transfer-encoding'=>'7bit', Data =>encode("utf8", $opt->{body}), Encoding => 'base64', ); $msg->attr("content-type.charset" => "UTF-8"); #$msg->send('smtp','wwww.maildir.cn',Debug=>0);

    Java加密技术

    (The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 常见于邮件、http加密,截取http信息,你就会发现登录操作的...

    vapr-decompress:一个Vapr插件,用于解压缩请求主体

    vapr-解压安装npm install --save vaprnpm install --save vapr-decompress用法此插件根据 Content-Encoding 和 Transfer-Encoding 标头解压缩请求正文。 const decompress = require ( 'vapr-decompress' ) ;const ...

    P21_创建Company资源POST_P20_HTTP方法的安全性与幂等性_Routine.Api2020_2_7.rar

    Transfer-Encoding:chunked Location:http://localhost:5000/api/companies/61156544-d8bd-4787-a79a-a484dd9a382c 在浏览器中输入http://localhost:5000/api/companies/61156544-d8bd-4787-a79a-a484dd9a382c ...

    ORRO:一个用Python写成的HTTP HTTPS代理

    Python3迁移修改(主要:socket受送信数据变更为byet)Transfer-Encoding头处理追加log功能完善今后开发主要在Python3下进行2015.01.08远端服务追加追加远端服务器转发处理文件组织结构结构调整为远端与本地本地服务...

    dlcah.rar_网络

    QP(Quoted-Printable-Content-Transfer-Encoding)编码解码程序,实现QP码与汉字

    django-eventstream:Django的服务器发送事件

    Django EventStream EventStream为您的Django应用程序提供API终结点,...Transfer-Encoding: chunked Connection: Transfer-Encoding Content-Type: text/event-stream event: message data: {"foo": "bar"} event:

    CefSharp.rar

    //网页 Transfer-Encoding: chunked,普通采集程序返回412错误 //采用 Chrome WebBrowser模式返回Html //需nuget 下载CefSharp.WinForms包

    HTTP服务器返回的chunk数据包

    HTTP chunk数据包 服务器端发送的数据格式有俩类,我称之为按长度返回、按块返回这俩类。一类是在返回头中有Content-Length: 258,258标识该正文内容长度;还有一类是返回Transfer-Encoding: chunked。

    smtp-pgp-relay:简单的SMTP中继(如果目标公用密钥在SKS API上可用,则对正文邮件进行加密)

    smtp-pgp-中继简单邮件中继以使用公共密钥加密邮件该中继在等待电子邮件的端口上侦听。 然后,它在SKS-API中... MAIL SERVER ^ | | PUBLIC KEY SEARCH | v SKS-API例子普通客户发送的邮件Content-Transfer-Encoding: q

    php 强制下载文件实现代码

    复制代码 代码如下:<?... if (file_exists($file)) { header(‘Content-Description: File Transfer’); header(‘Content-Type: application/octet-stream’... header(‘Content-Transfer-Encoding: binary’); heade

    php的附件邮件类

    简介:  class CMailFile {  ... "Content-Transfer-Encoding: base64 ";   $out = $out . "Content-disposition: attachment; filename=这是一个php的附件邮件类,需要的朋友可以下载使用

    node.js基础模块http、网页分析工具cherrio实现爬虫

    一、前言 ... 这里我主要学习过的案例自己敲了一遍,加深理解。在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用。 二、知识点 ...

    php的附件邮件类.zip

    <?  class CMailFile {  ... "Content-Transfer-Encoding: base64\n";   $out = $out . "Content-disposition: attachment; filename=这是一个php的附件邮件类,需要的朋友可以下载使用

    spring-mvc-msgpack-sample:Spring MVC + MessagePack 示例

    Spring MVC + MessagePack 示例 跑步 $ mvn spring-boot:run $ curl -v "localhost:8080/calc?... Transfer-Encoding: chunked < Date: Fri, 16 Jan 2015 15:00:26 GMT < leftd right , answer

Global site tag (gtag.js) - Google Analytics