HTTP 錯誤碼指南:200、301、401、403、404 與 5xx 怎麼看

HTTP 錯誤碼其實是 HTTP 狀態碼的一部分。當瀏覽器、搜尋引擎或 App 向網站送出請求,伺服器會用三位數代碼說明處理結果。1xx 到 5xx 各有不同意義,200 與 301 都不是錯誤;看到代碼時,先判斷類別與責任位置,再決定要重新整理,改連結或找主機與開發方。

五個類別可以這樣記:1xx 是處理中的暫時回應,2xx 是成功,3xx 表示還要再走一步(例如轉址),4xx 是請求端的問題,5xx 是伺服器端的問題。網站主最需要認得的是 301 與 302 轉址、401 與 403 的登入和權限、404 找不到頁面,以及 500、502、503、504 四個伺服器錯誤。

HTTP 狀態碼五大類

狀態碼的第一個數字決定類別,先看開頭是幾,就能判斷問題大致在哪一邊。「5xx」不是單一代碼,而是 500 到 599 這一類伺服器錯誤的總稱。

類別意思常見例子
1xx請求處理中的資訊回應100 Continue
2xx請求成功200、201、204
3xx需要重新導向或使用快取301、302、304
4xx請求、身分或資源有問題400、401、403、404、429
5xx伺服器或上游無法完成請求500、502、503、504

資料來源:IETF RFC 9110,MDN HTTP 回應狀態碼。特定平台可能另有非標準子代碼,應再查該服務文件。

常見 HTTP 狀態碼怎麼看?

先用下表找到代碼與第一個該檢查的地方,容易混淆的組合在表格後說明。

代碼代表意思常見原因網站主先檢查什麼
200請求成功,通常帶回內容頁面或 API 正常回應畫面是否其實是錯誤訊息或空白
301資源永久移到新網址網址變更、網站搬家或頁面合併目的頁是否相符
302暫時改由另一個網址提供例如服務暫停時導到說明頁是否其實是永久搬移
400伺服器無法或不願處理請求網址、表單或資料格式有誤核對網址與表單欄位
401缺少有效的身分驗證尚未登入或登入已失效重新登入並確認憑證
403理解請求,但拒絕提供權限不足或被規則擋下帳號權限與防護規則
404找不到這個資源網址打錯,或頁面搬走沒轉址連結來源與是否補轉址
429一段時間內請求太多API 限額、登入保護或速率限制觸發來源與限制規格
500伺服器遇到未預期的狀況設定不當、資源不足或程式錯誤最近的變更與伺服器紀錄
502閘道收到上游的無效回應上游主機或應用程式異常是否全站發生
503暫時無法處理請求暫時過載或排定的維護服務公告,稍後再試
504閘道等不到上游的回應上游處理超過等待時限是否集中在特定功能

200 與 204:成功,但回應內容不同

200 表示請求成功,通常會帶回內容。204 也表示成功,但沒有回應內容,因此不是「204 錯誤」。如果前端預期收到資料卻得到 204,應由開發方確認 API 合約。

301 與 302:網址重新導向

301 通常代表資源永久移到新網址,302 則用於暫時重新導向。網站搬家或改網址時,必須同時檢查目的頁、canonical、內鏈與 sitemap,避免形成多層轉址或導到不相符內容。

兩者對搜尋結果的影響也不同:依 Google 搜尋中心的重新導向說明,永久重新導向會在搜尋結果顯示新的目標網址,暫時重新導向則繼續顯示來源網頁。秒站客戶可以在網站控制台的轉址與 404 設定建立規則,並查看訪客遇到的失效網址紀錄。

400、401、403:請求、登入與權限

400 表示伺服器無法理解或接受請求;401 通常表示需要有效驗證;403 表示伺服器理解請求,但拒絕存取。訪客可先確認網址與登入狀態,管理者則要檢查表單格式、權限、WAF 與存取規則。

401 和 403 的差別在重新登入有沒有用:401 代表請求缺少有效的身分驗證,可以重新登入或換上正確的憑證再試;403 代表伺服器理解請求卻拒絕提供,依 MDN 的 403 說明,再驗證一次也不會改變結果。403 也可能來自網站前面的防護層,Cloudflare 官方的 403 說明就列出 WAF 規則與 DDoS 防護等情境;正常訪客被擋時,先看 WAF 的用途與需求判斷。

404:找不到資源

404 可能來自輸入錯誤的網址、已刪除的頁面、失效的內鏈或尚未建立的路由。若有內容相符的替代頁,設定適當轉址;若沒有替代內容,保留清楚的 404 頁通常比全部導首頁更合理。

403 和 404 的差別在伺服器是否承認資源存在:403 是知道你要什麼但不給,404 是找不到,或不願透露它存在;400 則是請求本身有問題。頁面永久移除又沒有替代內容時,Google 搜尋中心的 soft 404 說明建議回傳 404 或 410;頁面顯示找不到內容卻回傳 200,會被 Search Console 列為 soft 404。

429:請求太頻繁

429 表示在一段時間內送出太多請求。可能是 API 限額、登入保護、爬蟲或速率限制。不要只重試到成功,應確認服務規格與等待策略。

500、502、503、504:伺服器與上游問題

500 是伺服器內部錯誤;502 常表示閘道從上游收到無效回應;503 表示服務暫時無法使用;504 表示閘道等待上游逾時。這些代碼可能來自主機、應用程式、資料庫、反向代理或外部 API,需要用同一時間的紀錄與資源狀態判斷。

502、503、504 的差別在卡住的位置:502 與 504 由中間的閘道或代理(例如 CDN 或反向代理)回報上游有狀況,503 是伺服器自己表示暫時無法處理,RFC 9110 舉的原因是暫時過載或排定的維護。依 Google 的 HTTP 狀態碼處理說明,5xx 與 429 會讓檢索器暫時降低檢索頻率,持續回傳伺服器錯誤的網址最終會從索引移除。

使用 Cloudflare 的網站還可能看到 520 到 526。這些是 Cloudflare 文件定義的錯誤碼,IANA 的 HTTP 狀態碼註冊表把 512 到 599 列為未指派,所以不屬於 HTTP 標準。Cloudflare 在網站前面負責什麼,可看 Cloudflare 的 DNS、CDN 與安全功能說明。

看到 HTTP 錯誤時的排查順序

排查順序是先留下紀錄,再排除自己這一端,接著確認代碼與範圍,最後判斷該由誰處理。下面六步不需要工程背景,每一步都附完成確認。

  1. 留下紀錄:記下完整網址、發生時間、畫面上的代碼與訊息,並截圖。完成確認:這三項都寫得出來。
  2. 排除自己這一端:重新整理一次,再用無痕視窗、另一個瀏覽器或手機行動網路開同一個網址。完成確認:知道是單一環境還是每個環境都出錯;只有一個瀏覽器異常時,先照清除快取與 Cookie 的排查教學處理。
  3. 看實際的狀態碼:以 Chrome 為例,按 F12(Mac 為 Cmd + Option + I)開啟開發人員工具,切到「網路」(Network)面板後重新載入頁面,最上面那一列通常是頁面本身,它的「狀態」欄就是回應代碼;自己的網站也能用 Google Search Console 的網址檢查工具查看。完成確認:拿到三位數代碼;若只顯示連線逾時或找不到伺服器,代表請求沒有得到伺服器回應,要改查網域、DNS 或網路連線。
  4. 確認影響範圍:再測首頁、另一個內頁與後台登入頁,並回想最近改過哪些設定。完成確認:說得出是單一頁面、某一類頁面或全站。
  5. 判斷是哪一層回的:錯誤頁帶有 CDN 或防護服務的名稱(例如 Cloudflare)時,是那一層在回應:403 與 429 可能與防護規則或異常流量有關,可對照 DDoS 攻擊的症狀與防護指南,52x 多半是它與放網站的主機之間連線或回應有狀況(見伺服器是什麼)。沒有這類字樣時,多半是主機或網站程式回的。完成確認:知道該找管理 CDN 設定的人,還是主機商或平台客服。
  6. 交給對的人:404 與轉址問題自己修正連結或補上轉址,401 與 403 先查帳號與權限,持續出現的 5xx 把第一步的紀錄交給主機商、平台客服或開發方;伺服器設定檔不要自行修改。完成確認:負責的人已收到網址、時間與代碼。

本文連結的外部文件於 2026-10-14 查證,各服務的處理方式可能調整,請以連結頁面為準。

訪客、網站管理者、主機或開發方各自怎麼做?

分工原則是訪客回報,網站管理者確認範圍與最近變更,主機或開發方查紀錄並修正。

角色可先處理何時升級
訪客核對網址,重新登入,稍後再試,保留錯誤畫面同一頁持續失敗時通知網站方
網站管理者確認影響範圍、最近變更、狀態碼與服務公告反覆 4xx 或任何持續 5xx
主機或開發方查同時段 log、資源、代理、資料庫與外部依賴需要調整程式、容量或架構時

主機層由誰負責取決於架站方式:自架網站要自己或委外處理,SaaS 架站由平台維護主機與系統,差異可看 SaaS 架站與自架 WordPress 的完整比較。

若錯誤發生在 HTTPS 建立階段,應另查 SSL 憑證指南;若在搬家或改網址後出現,應回查網站搬家流程;若懷疑異常流量,先做網站安全檢查。

內文精華總結

  • HTTP 狀態碼不全是錯誤,2xx 成功,3xx 多為重新導向。
  • 4xx 多與請求、身分、權限或資源有關。
  • 5xx 多與伺服器、代理或上游服務有關。
  • 401 可以重新登入再試,403 要查權限或防護規則,404 代表伺服器找不到資源,或不願透露它存在。
  • 修復前要先記錄時間、網址、代碼、影響範圍與最近變更。

讓網站上線後仍有清楚的維運路徑

秒站整合網站系統、主機與日常維護,遇到錯誤時不必在多個供應商之間猜責任。主機與系統維護由秒站負責,客服透過 Email 與 LINE 在 24 小時內回覆,不是全天候即時處理;網站仍可能出現錯誤,回報時附上網址、時間與代碼,方便客服判斷。

重點整理

HTTP 錯誤代碼是什麼?

HTTP 狀態碼是伺服器回應請求的三位數代碼。4xx 與 5xx 多半表示問題,但 1xx、2xx 與 3xx 不一定是錯誤。

HTTP 400 的原因是什麼?

400 表示伺服器無法理解或接受請求,可能與網址、表單格式、標頭、Cookie 或 API 資料格式有關。

HTTP 401 的原因是什麼?

401 通常表示請求缺少有效驗證。可先確認登入狀態與憑證,再由管理者檢查驗證流程。

401 和 403 有什麼差別?

401 表示請求缺少有效的身分驗證,可以重新登入或換上正確的憑證再試;403 表示伺服器理解請求但拒絕提供,再驗證一次也不會改變結果,要改查帳號權限與防護規則,例如 WAF 或存取限制。

404 一定要轉址嗎?

不一定。若有高度相符的新頁才做一對一轉址;沒有替代內容時,回傳清楚的 404 比全部導首頁更合理。

204 是錯誤嗎?

不是。204 表示請求成功,但伺服器沒有回應內容。若前端預期資料,應由開發方確認 API 合約。

502、503、504 有什麼差別?

502 是閘道收到無效上游回應,503 是服務暫時不可用,504 是等待上游逾時。三者都要查同時段的代理、主機與應用紀錄。

遇到 500 錯誤怎麼辦?

訪客應保留錯誤時間與網址;管理者檢查影響範圍與最近變更,再由主機或開發方查 log、資源、資料庫和外部依賴。

5xx 錯誤是什麼意思?

5xx 不是單一代碼,而是 500 到 599 這一類伺服器錯誤的總稱,代表伺服器知道自己出錯,或沒有能力完成請求。常見的有 500、502、503 與 504,多半不是訪客能自行修復的問題,持續發生時要由主機商、平台或開發方查紀錄。

403 和 404 差在哪裡?

403 表示伺服器理解請求但拒絕提供,資源可能存在,只是目前的身分或來源不被允許;404 表示伺服器找不到資源,或不願透露它存在。遇到 403 先查帳號權限與防護規則,遇到 404 先查連結來源,必要時補上轉址。

301 和 302 有什麼差別?

301 表示資源永久移到新網址,302 表示暫時改由另一個網址提供。依 Google 搜尋中心的重新導向說明,永久重新導向會在搜尋結果顯示新的目標網址,暫時重新導向則繼續顯示來源網頁,所以確定不會改回來時才用 301。