2011-06-09 83 views

回答

2

該標準似乎沒有對實際代碼作出響應,只是兩個長度必須匹配,並且HTTP/1.1代理必須通知用戶。

我只會使用400 Bad Request代碼,因爲畢竟問題是什麼(違反標準的請求),而其他400系列代碼似乎沒有足夠接近的匹配。 x00代碼還定義了狀態類,因此可用於通用代碼。

請記住,代碼是可擴展的,你總是可以定義自己和代理不承認它需要把它當作一個x00變種反正(RFC2616的6.1.1節):

HTTP狀態碼是可擴展的。 HTTP應用程序並不需要了解所有已註冊的狀態代碼的含義,儘管這樣的理解顯然是可取的。但是,應用程序必須理解任何狀態碼的類,如第一位數所示,並將任何未識別的響應視爲等同於該類的x00狀態碼,但不得緩存無法識別的響應。例如,如果客戶端收到一個無法識別的狀態碼431,則可以安全地假定其請求有問題,並將響應視爲已收到400狀態碼。在這種情況下,用戶代理應該向用戶提供與響應一起返回的實體,因爲該實體可能包含人類可讀的信息,這些信息將解釋異常狀態。

+0

非常感謝,我想我現在堅持400。 – Erds 2011-06-10 15:47:55