旧的HTTP/1.0的用户代理实现可能在POST请求之后发送一个额外的CRLF,用于解决早期的服务器应用读取没有由一个行结尾终止的消息体时发生的错误。

为了提高健壮性,期望接收和解析请求行的服务器应该忽略在请求行之前接收到的至少一个空行(CRLF)。

虽然对开始行和头字段来说行终止符是CRLF序列,但接收者可能将单个LF视为行终止符而忽略前面的任何CR。

虽然请求行和状态行的语法规则要求每个组件元素宝贝单个SP字节分隔,但是接收者可能对空白分隔的单词边界进行解析,除了CRLF终止符之外,还可能将任何形式的空白作为SP分隔符,而忽略前面或后面的空白;这些空白包括下列的一个或多个字符:SP,HTAB,VT(%x0B),FF(%x0C)或者裸CR。但是,如果消息有多个接收者,则从宽松的解析可能会导致安全漏洞,并且每个解析器都有其独特的健壮性解释(查看9.5节)。

当一个仅监听HTTP请求消息或者处理从起始行出现的HTTP请求消息的服务器接收到一个不符合HTTP消息语法的字节序列时,除了上面列出的健壮性一场外,服务器应该用要给400(错误请求)响应来响应。

results matching ""

    No results matching ""