Http 代碼

陳漢庭
8 min readOct 7, 2020

--

以下列出日常生活中常遇到的代碼

  • 200: 成功
  • 302 Found: 最近遇到的問題是在登入頁加了reCAPTCHA後,我沒有指定錯誤代碼,它會自動給302錯誤。
  • 304 Not Modified: 畫面沒有更新的代碼。之所以對這個代碼特別熟悉是因為有個同事在做首頁畫面的時候跟我說如果我這邊有做cache的話,那他這邊也有的話,我再打一次api的話這支api就會吐給我304的錯誤代碼。結果真的某一天網站首頁畫面全白了。
  • 400 Bad Request: 回應意味伺服器因為收到無效語法,而無法理解請求。後端這邊若在前端訪問錯誤的時候,會刻意給前端 400 錯誤
  • 401 Unauthorized: 通常這種錯誤代碼存在都是登入失敗
  • 403 Forbidden: 當權限不足的時候會跳出的錯誤訊息。這陣子在部署
  • 404 Not Found: 找不到頁面
  • 412 Precondition Failed — one or more conditions in the request header fields evaluated to false(對這類的錯誤沒有經驗)
  • 413 Request Entity Too Large: 表示伺服器拒絕處理當前請求,因為該請求提交的實體資料大小超過了伺服器願意或者能夠處理的範圍。這是在搜尋頁面,有人反應某一個form搜尋1000筆無法出現,而自己試一遍發生的錯誤訊息。
  • 414 Request-URI Too Large — 網址列的請求太多
http://localhost:3000/admin/variants/sales.json?draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=false&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=1&columns%5B1%5D%5Bname%5D=view&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=false&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=2&columns%5B2%5D%5Bname%5D=sale&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=false&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=3&columns%5B3%5D%5Bname%5D=order_number&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=false&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=4&columns%5B4%5D%5Bname%5D=net_sales&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=false&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B5%5D%5Bdata%5D=5&columns%5B5%5D%5Bname%5D=gross_profit&columns%5B5%5D%5Bsearchable%5D=true&columns%5B5%5D%5Borderable%5D=false&columns%5B5%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B5%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B6%5D%5Bdata%5D=6&columns%5B6%5D%5Bname%5D=product_type&columns%5B6%5D%5Bsearchable%5D=true&columns%5B6%5D%5Borderable%5D=false&columns%5B6%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B6%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B7%5D%5Bdata%5D=7&columns%5B7%5D%5Bname%5D=brand&columns%5B7%5D%5Bsearchable%5D=true&columns%5B7%5D%5Borderable%5D=false&columns%5B7%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B7%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B8%5D%5Bdata%5D=8&columns%5B8%5D%5Bname%5D=stock&columns%5B8%5D%5Bsearchable%5D=true&columns%5B8%5D%5Borderable%5D=false&columns%5B8%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B8%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=0&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1642995386003...太長...
  • 500 Internal Error — a generic error occurred on the server:
    內部錯誤,通常是專案的程式碼寫錯會跳出的錯誤。若在部署階段出現這類錯誤代表好事情發生了。
    以Ruby on Rails來說,網頁伺服器已經跟App Server連接上了,剩下的就程式面的問題
  • 502 Bad Gateway: 一樣是程式錯,但502的程式錯誤比500的程式錯還要更嚴重。這類的程式面的錯誤導致整個App Server無法順利被啟動
  • 503 Service Unavailable — the requested service is not available:
    接應後端api的時候當發現有這種錯誤,大多為後端的code正在部署。有時候正在啟用nginx或App Server也會出現 502 錯誤,所以都不一定
  • 504 Gateway Timeout: Server沒有回應(但不能表示Server不存在或者Server忙線)

參考資料

--

--

陳漢庭
陳漢庭

Written by 陳漢庭

由於零散的紀錄過了一段時間之後就看不懂了,於是為了強迫自己用故事的方式記錄學到的東西,就開啟我的發文之路。

No responses yet