【问题标题】:How to treat request messages without Transfer-Encoding nor Content-Length headers?如何处理没有 Transfer-Encoding 或 Content-Length 标头的请求消息?
【发布时间】:2019-09-22 05:52:18
【问题描述】:

我正在实现一个 Web 服务器,我想知道如何处理带有消息正文但没有 Transfer-EncodingContent-Length 标头的请求消息(假设请求方法当然不是 HEAD 或 CONNECT)。

根据RFC 7230, § 3.3.3. Message Body Length

消息正文的长度由以下之一确定(按优先顺序):

[…]

  1. 如果这是一条请求消息并且以上都不成立,则消息正文长度为零(不存在消息正文)。

我是否属于这种情况,因此我是否应该认为消息正文长度为零(即使它实际上不为零)?

【问题讨论】:

  • 在这种情况下,根据 RFC,看起来应该丢弃消息正文。
  • @shaochuancs 好吧,至少我们俩的理解是一样的。

标签: http server request header content-length


【解决方案1】:

规范定义它。如果没有内容长度或分块编码,则标头部分后面的内容是下一个请求(可能格式错误)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2017-10-03
    • 2014-03-30
    • 1970-01-01
    • 2016-11-05
    相关资源
    最近更新 更多