我正在使用Synapse库在Delphi 6中编写HTTP代理。
我知道常规响应具有以下语法:
- 状态行
- 零个或多个标题(常规|响应|实体)字段后跟CRLF
- 表示标题字段结尾的空行
- 可选择邮件正文
但是100 Continue
不是常规的,只是一个告诉客户继续的相互响应,必须跟着最后的常规响应。
那么,我应该期待100 Continue
响应中的正文吗?
答案 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(未修改)响应都不包含消息正文。所有其他响应都包含一个消息正文,尽管正文可能长度为零。"