generic-message = start-line
*(message-header CRLF)
CRLF
[ message-body ]
start-line = Request-Line | Status-Line
message-header = field-name ":" [ field-value ]
field-name = token
field-value = *( field-content | LWS )
field-content = <the OCTETs making up the field-value
and consisting of either *TEXT or combinations
of token, separators, and quoted-string>
因此,单个CRLF
被视为EOL符号。但是,当我收到对Chrome或Firefox的请求时,会看到额外的CR
。
应该是什么解析规则?
答案 0 :(得分:0)
就像乔恩·波斯特尔(Jon Postel)在许多RFC中所说的那样,“在接受的内容上保持自由,在发送的内容上保持保守”。
格式正确的客户绝不应该发送这样的内容。但是会发生错误,并且必须在某些地方进行换行转换。因此,只要您可以安全地处理这些情况,将这些换行符(通常将任何+-----------+----------+
|productCode| amount|
+-----------+----------+
| XX-1| 250|
| XX-2| 410|
| XX-9| 50|
| XX-10| 35|
| XX-13| 300|
| XX-100| 870|
+-----------+----------+
序列解析为正则表达式)作为标头中的单个换行符应该是最好的方法
如果您根本无法解析标头,则只需返回错误请求错误即可。