我不知道在发送了正文的所有字节后,我是否应该发送下一条消息而没有CRLF将第一条消息的正文分隔到第二条消息的起始行。
这是根据RFC 7230的语法:
var coll = dt.AsEnumerable().Where(k => k.Field<string>(0).Contains("G")).Select(p => p).ToList();
根据语法,在正文的末尾没有CRLF,但它看起来很奇怪,因为其他所有东西似乎都被CRLF分开,特别是分块体的语法。
HTTP-message = start-line
*( header-field CRLF )
CRLF
[ message-body ]
这是没有CRLF的样子
chunk = chunk-size [ chunk-ext ] CRLF
chunk-data CRLF
这就是它的样子。
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 3
abcHTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 3
那么,CRLF应该跟随身体吗?
答案 0 :(得分:2)
然后您必须将其包含在邮件正文中:
RFC 7230, 3.5. Message Parsing Robustness:
HTTP / 1.1用户代理不得作为前言 或者通过额外的CRLF跟随请求。如果终止请求 需要一个带行结尾的消息体,然后用户代理必须 计算终止CRLF八位字节作为消息体长度的一部分。
答案 1 :(得分:1)
不,当存在内容长度,并且未使用分块传输编码时,正文具有由content-length定义的长度。