跳轉常規 -- 爲何不要使用40四、500等http狀態碼做爲業務代碼響應

不要使用HTTP狀態碼做爲業務代碼響應

HTTP狀態碼

是指瀏覽器訪問網址,成功或異常時瀏覽器或服務器告知用戶的代碼數字,它指的是網絡或服務器的狀態,有着不一樣的含義。
參加MDNJava Api,常見的狀態碼:html

  • 200 OK 請求成功
  • 301 重定向
  • 400 錯誤請求
  • 401 須要訪問受權,一般是basic受權
  • 403 禁止訪問該地址
  • 404 訪問地址不存在
  • 500 服務器異常前端

    業務代碼

    業務代碼是業務流程中可能產生的結果,好比:用戶密碼不正確、用戶不存在、訂單不存在、第三方api請求錯誤等。java

    Restful Api

    有些人喜歡使用HTTP代碼做爲業務代碼做爲restful的響應結果,如用200表示業務返回成功,用404表示用戶不存在,用500做爲sql查詢異常。sql

    爲何不要這麼作

  • 前端每次請求,可能產生的問題包括網絡問題、服務器問題和業務邏輯問題,HTTP狀態碼錶示網絡傳輸的意義,如200只應該表示鏈接上了服務器,而不該該用來表示業務邏輯返回成功。HTTP狀態碼應該用於網絡問題和服務器問題判斷的依據,不該該閹割這部分的功能
  • 返回除200之外的狀態碼,前端須要做爲額外的處理以及瀏覽器的額外處理api

相關文章
相關標籤/搜索