HTTP包体的传输方式:定长包体和不定长包体

HTTP请求和响应可以包含message-body,但HEAD、1xx,204,304响应及CONNECT的2xx响应不带包体。Content-Length用于定长包体,要求字节计数与实际一致,简化接收端处理。Transfer-Encoding允许不定长传输,如chunked,支持边压缩边传输,常用于动态内容推送和压缩。chunked、compress、deflate、gzip等是常见的编码类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请求或者响应都可以携带包体:message-body

以下消息不能含有包体
HEAD 方法请求对应的响应
1xx,204,304对应的响应
CONNECT方法对应的2xx响应

在发送端定长

Content-Length=1*DIGIT

用十进制表示包体中的字节个数,且必须与实际传输的包体长度一致

优点:接收端处理更简单

在发送端不定长

Transfer-Encoding 指明Chunk的传输方式;含Transfer-Encoding头部后,Content-Length会被忽视

优点:

  • 基于长链接持续推送动态内容
  • 压缩体积较大的包体,不必完全压缩完再发送,可以边发送边压缩
  • 传输必须在包体传输完才能计算出Trailer 头部

Transfer-Encoding 可传递的值 chunked,compress,deflate,gzip,transfer-extension
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值