内容长度与实际内容长度不匹配的适当HTTP状态代码是什么

时间:2011-06-09 01:33:08

标签: http http-headers

我知道缺少内容长度标题是411,但不确定当内容长度中给出的值与实际内容长度不匹配时我应该如何回应

1 个答案:

答案 0 :(得分:2)

标准在实际代码上似乎没有响应,只有两个长度必须匹配,HTTP / 1.1代理必须通知用户。

我只会使用400 Bad Request代码,因为这毕竟是问题所在(违反标准的请求),而其他400系列代码似乎都不匹配。 x00代码还定义了状态的,因此可以用于通用代码。

请记住,代码是可扩展的,您始终可以定义自己的代码,并且无法识别它的代理需要将其视为x00变体(RFC2616的第6.1.1节):

  

HTTP状态代码是可扩展的。 HTTP应用程序不需要理解所有已注册状态代码的含义,尽管这种理解显然是可取的。但是,应用程序必须理解任何状态代码的类,如第一个数字所示,并将任何无法识别的响应视为等同于该类的x00状态代码,但不得高速缓存无法识别的响应。例如,如果客户端收到无法识别的状态代码431,则可以安全地假设其请求有问题并将响应视为已收到400状态代码。在这种情况下,用户代理应该向用户呈现随响应返回的实体,因为该实体可能包括将解释异常状态的人类可读信息。