博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http消息长度的确定
阅读量:4048 次
发布时间:2019-05-25

本文共 1148 字,大约阅读时间需要 3 分钟。

4 4 消息长度

消息长度是指在传输编码使用后消息体的长度。当一个消息体被包含在一个消息中时,体长由下面决定(按优先级的顺序):

1.   任何肯定不包含一个消息体的 response 消息总是在第一个空行处终结,而无论出现在消息中的实体的头区。

2.   如果一个 Transfer-Encoding 头区( sec14.41 )被给出而且只有 ”identity” ,那么传输长度是使用“ chunked ”传输编码,直到连接被关闭消息被终结。

3.  如果一个 Content-Length 头区( sec14.13 )被给出,那么它既代表了实体长度也代表了传输长度。如果这两个长度不相等肯定不会有 Content-Length 。如果一个消息既存在 Transfer-Encoding 又存在 Content-Length ,后者被忽略。

4 .如果消息使用 “multipart/byteranges” 做媒体类型,并且 transfer-length 也没被给出,那么这个自定界的媒体类型定义了传输长度。这个类型如果接收者无法解析它那肯定不能被使用;在一个 request 中,如果包含一个 Range 头和若干 byte-range 说明那个 client 能够解析 multipart/ranges 。一个 rang 头可能被一个不理解 multipart/byteranges proxy 传递,在这种情况下, server 必须使用 1 3 5 提供的方法定界。

5 .到 server 关闭一个连接(关闭连接不能被用来指示一个 request 的结束,因为那样将导致 server 无法发送一个 response 。)

为了和 HTTP/1 0 应用兼容,包含一个消息体的。 1 请求肯定包含一个有效的 Content-Length

除非知道 server HTTP/1 1 兼容。如果一个 request 包含一个消息体而没有

Content-Length ,那么 server 如果不能决定消息的长度应该回以 400 ,或 411 如果它坚持接收一个有效 Content-Length

所有接收实体的 HTTP/1 1 应用必须接收“ chunked ”传输编码( sec3.6 ),因此允许使用这个机制决定消息长度。

消息绝对不能同时包含 Content-Length 头区和一个非 identity 传输编码。如果一定包含,那么 Content-Length 被忽略。

如果一个 Content-Length 真被给出了,那 它一定对应消息体的字节个数。 HTTP/1 1user agent 必须告诉用户如果一个无效长度被接受和看到。

转载地址:http://avbci.baihongyu.com/

你可能感兴趣的文章
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力旅游行业新发展
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>
企业云盘如何助力商业新发展
查看>>
医疗行业运用企业云盘可以带来什么样的提升
查看>>
教育数字智能化能为现有体系带来新的起点
查看>>
媒体广告业如何将内容资产进行高效地综合管理与利用
查看>>
能源化工要怎么管控核心数据
查看>>
媒体广告业如何运用云盘提升效率
查看>>
企业如何运用企业云盘进行数字化转型-实现新发展
查看>>
司法如何运用电子智能化加快现代化建设
查看>>