我们被困住了。 在我们没有预料到的Apache httpd + Passenger Web服务器中,我们得到了一个新的头文件。 我们有一个敏感的networking客户端阅读这个我们现在不能修改。
我们可以修改这个标题吗? 据我们所知,“OK”是规范的一部分。 我们希望修改标题,使其包含规范的所有预期部分。
我们在期待:
"HTTP/1.1 200 OK"
但反而得到:
"HTTP/1.1 200 "
除了计算机程序中的数字响应代码之外,您不打算解释任何内容; 文字表示是为了人类的消费。
请参阅RFC 2616第6.1.1节 :
6.1.1状态码和原因短语
状态码元素是尝试理解和满足请求的3位整数结果码。 这些代码在第10节中有完整定义。原因短语旨在简要说明状态代码。 状态码是供自动机使用的,原因短语是供人类用户使用的。 客户不需要检查或显示原因词组。
寻找“OK”(或确实,超出数字的任何东西)是程序中的逻辑错误。 ABNF语法清楚地表明,原因短语可能是空的:
Reason-Phrase = *<TEXT, excluding CR, LF>
所以,你的服务器正在按照规范运作; 客户端不是。