HTTP 100继续响应CAN有一个消息体吗?

时间:2014-05-13 08:48:39

标签: delphi http response

我正在使用Synapse库在Delphi 6中编写HTTP代理。

我知道常规响应具有以下语法:

  
      
  • 状态行
  •   
  • 零个或多个标题(常规|响应|实体)字段后跟CRLF
  •   
  • 表示标题字段结尾的空行
  •   
  • 可选择邮件正文
  •   

但是100 Continue不是常规的,只是一个告诉客户继续的相互响应,必须跟着最后的常规响应。

那么,我应该期待100 Continue响应中的正文吗?

1 个答案:

答案 0 :(得分:4)

不,1xx状态响应不得有正文。见http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-26.html#rfc.section.3.3.p.5

"响应中消息体的存在取决于它响应的请求方法和响应状态代码(第3.1.2节)。对HEAD请求方法的响应([Part2]的第4.3.2节)从不包括消息体,因为关联的响应头字段(例如,传输编码,内容长度等)(如果存在)仅指示它们的值如果请求方法是GET([Part2]的第4.3.1节),那就是这样的。对CONNECT请求方法的2xx(成功)响应([Part2]的第4.3.6节)切换到隧道模式而不是具有消息体。所有1xx(信息),204(无内容)和304(未修改)响应都不包含消息正文。所有其他响应都包含一个消息正文,尽管正文可能长度为零。"