當客戶端發佈錯誤數據時(例如,預期整數時的字符串),應該返回什麼HTTP狀態代碼?錯誤數據的HTTP狀態代碼
我一直在使用400錯誤請求,但當我通過HTTP文檔閱讀,似乎更適用於HTTP協議錯誤。
我想使用狀態碼,以便Flash和AJAX客戶端可以區分成功,錯誤的數據和服務器錯誤,而無需解析響應。
當客戶端發佈錯誤數據時(例如,預期整數時的字符串),應該返回什麼HTTP狀態代碼?錯誤數據的HTTP狀態代碼
我一直在使用400錯誤請求,但當我通過HTTP文檔閱讀,似乎更適用於HTTP協議錯誤。
我想使用狀態碼,以便Flash和AJAX客戶端可以區分成功,錯誤的數據和服務器錯誤,而無需解析響應。
這正是400的用途。是的,它被用於糟糕的HTTP協議使用,但它並非專門用於此目的。
當客戶端點擊提交按鈕時,我真的更傾向於將錯誤的數據回收到瀏覽器中。
如果沒有,那麼我會返回400,因爲作爲標準說:
請求不能被服務器因爲語法錯誤的理解。客戶端不應該在沒有修改的情況下重複請求。
你應該可以做到這一點。沒有保證您的API正在被瀏覽器使用。 :) – weberc2 2016-01-14 18:39:53
根據OP的問題,如果客戶端發出帶有'integer'的HTTP請求,如預期那樣。但是,讓我們說這個整數代表用戶的id。如果服務器找不到該用戶,是否應該返回'400'? – 2014-07-11 17:31:02
在這種情況下,404將是最好的事情@KevinMeredith – DasDave 2014-08-20 11:05:41