10. 常見的 http 狀態碼有哪些

總結

  1. 1xx: 正在處理
  2. 2xx: 成功
  3. 3xx: 重定向,302 重定向,304 協商緩存
  4. 4xx: 客戶端錯誤,401 未登錄,403 沒權限,404 資源不存在
  5. 5xx: 服務器錯誤

常見的 HTTP 狀態碼詳解

HTTP 狀態碼(HTTP Status Code)是服務器返回給客戶端的響應代碼,用于表示請求的處理結果。它是一個三位數的數字代碼,通常分為五類。


一、HTTP 狀態碼分類

狀態碼范圍類別含義
1xxInformational(信息性)請求正在處理中
2xxSuccess(成功)請求已成功接收并處理
3xxRedirection(重定向)需要進一步操作才能完成請求
4xxClient Error(客戶端錯誤)請求有誤,服務器無法處理
5xxServer Error(服務器錯誤)服務器內部錯誤

二、常見狀態碼詳解

? 1xx:信息性狀態碼(Informational)

  • 表示請求已被服務器接收,正在繼續處理。
  • 客戶端一般無需特別處理這些狀態碼。
狀態碼描述
100 Continue客戶端可以繼續發送請求體
101 Switching Protocols服務器根據客戶端請求切換協議(如升級到 WebSocket)

? 2xx:成功狀態碼(Success)

  • 表示請求被服務器成功接收、理解和處理。
狀態碼描述
200 OK請求成功,正常返回數據
201 Created請求成功并在服務器上創建了新資源(常用于 POST)
204 No Content請求成功但沒有返回內容(常用于 DELETE 或 PUT)

? 3xx:重定向狀態碼(Redirection)

  • 表示客戶端需要進一步操作來完成請求,通常是跳轉到另一個 URL。
狀態碼描述
301 Moved Permanently資源永久移動到了新位置(SEO 友好)
302 Found(臨時重定向)資源臨時移動到了新位置
303 See Other應該使用 GET 方法請求另一個 URI
304 Not Modified資源未修改,可使用緩存(常用于協商緩存)
307 Temporary Redirect與 302 類似,但要求保持請求方法不變

? 4xx:客戶端錯誤狀態碼(Client Error)

  • 表示客戶端發送的請求有問題,服務器無法處理。
狀態碼描述
400 Bad Request請求格式錯誤,服務器無法理解
401 Unauthorized請求需要身份驗證(如 Token 過期)
403 Forbidden服務器拒絕執行請求(權限不足)
404 Not Found請求的資源不存在
405 Method Not Allowed請求方法不被允許(如用 POST 請求只支持 GET 的接口)
408 Request Timeout客戶端請求超時
429 Too Many Requests客戶端請求過多,服務器限流

? 5xx:服務器錯誤狀態碼(Server Error)

  • 表示服務器在處理請求的過程中發生了錯誤。
狀態碼描述
500 Internal Server Error服務器內部錯誤(最常見的服務端異常)
501 Not Implemented服務器不支持當前請求的功能
502 Bad Gateway作為網關或代理的服務器從上游服務器收到無效響應
503 Service Unavailable服務器暫時不可用(過載或維護)
504 Gateway Timeout網關或代理服務器等待上游服務器響應超時

三、狀態碼使用場景總結

場景推薦狀態碼
登錄失敗401 Unauthorized
沒有訪問權限403 Forbidden
頁面不存在404 Not Found
接口調用成功200 OK
創建資源成功201 Created
刪除/更新資源成功但無返回值204 No Content
服務器異常500 Internal Server Error
接口限流429 Too Many Requests
協商緩存命中304 Not Modified

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914363.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914363.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914363.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springBoot對接第三方系統

yml文件 yun:ip: port: username: password: controller package com.ruoyi.web.controller.materials;import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.materials.service.IYunService; import o…

【PTA數據結構 | C語言版】車廂重排

本專欄持續輸出數據結構題目集,歡迎訂閱。 文章目錄題目代碼題目 一列掛有 n 節車廂(編號從 1 到 n)的貨運列車途徑 n 個車站,計劃在行車途中將各節車廂停放在不同的車站。假設 n 個車站的編號從 1 到 n,貨運列車按照…

量子計算能為我們做什么?

科技公司正斥資數十億美元投入量子計算領域,盡管這項技術距離實際應用還有數年時間。那么,未來的量子計算機將用于哪些方面?為何眾多專家堅信它們會帶來顛覆性變革? 自 20 世紀 80 年代起,打造一臺利用量子力學獨特性質…

BKD 樹(Block KD-Tree)Lucene

BKD 樹(Block KD-Tree)是 Lucene 用來存儲和快速查詢 **多維數值型數據** 的一種磁盤友好型數據結構,可以把它想成:> **“把 KD-Tree 分塊壓縮后落到磁盤上,既能做磁盤順序讀,又能像內存 KD-Tree 一樣做…

【Mysql作業】

第一次作業要求1.首先打開Windows PowerShell2.連接到MYSQL服務器3.執行以下SQL語句:-- 創建數據庫 CREATE DATABASE mydb6_product;-- 使用數據庫 USE mydb6_product;-- 創建employees表 CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,ag…

(C++)STL:list認識與使用全解析

本篇基于https://cplusplus.com/reference/list/list/講解 認識 list是一個帶頭結點的雙向循環鏈表翻譯總結: 序列容器:list是一種序列容器,允許在序列的任何位置進行常數時間的插入和刪除操作。雙向迭代:list支持雙向迭代&#x…

Bash函數詳解

目錄**1. 基礎函數****2. 參數處理函數****3. 文件操作函數****4. 日志與錯誤處理****5. 實用工具函數****6. 高級函數技巧****7. 常用函數庫示例****總結:Bash 函數核心要點**1. 基礎函數 1.1 定義與調用 可以自定義函數名稱,例如將greet改為yana。?…

Python爬蟲實戰:研究rows庫相關技術

1. 引言 在當今數字化時代,互聯網上存在著大量有價值的表格數據,這些數據以 HTML 表格、CSV、Excel 等多種格式存在。然而,由于數據源的多樣性和不規范性,表格結構往往存在復雜表頭、合并單元格、不規則數據行等問題,給數據的自動化處理帶來了巨大挑戰。 傳統的數據處理工…

通過同態加密實現可編程隱私和鏈上合規

1. 引言 2023年9月28日,a16z 的加密團隊發布了 Nakamoto Challenge,列出了區塊鏈中需要解決的最重要問題。尤其是其中的第四個問題格外引人注意:“合規的可編程隱私”,因為Zama團隊已經在這方面積極思考了一段時間。本文提出了使…

封裝---統一封裝處理頁面標題

一.采用工具來實現(setPageTitle.ts)多個頁面中用更統一的方式設置 document.title,可以封裝一個工具函數:在utils目錄下新建文件:setPageTitle.ts如果要在每個頁面設置相同的網站標志可以使用下面的appNameconst appName: string import.meta.env.VITE_APP_NAMEex…

JAVA學習筆記 首個HelloWorld程序-002

目錄 1 前言 2 開發首個程序 3 小結 1 前言 在所有的開發語言中,基本上首先程序就是輸出HelloWorld,這里也不例外。這個需要注意的是,程序的核心功能是數據輸出,是要有一個結果,可能沒有輸入,但是一定有…

智慧監所:科技賦能監獄管理新變革

1. 高清教育:告別模糊畫面,學習更清晰傳統電視的雪花屏終于成為歷史!新系統采用高清傳輸,課件文字清晰可見,教學視頻細節分明。某監獄教育科王警官說:"現在播放法律課程,服刑人員能清楚看到…

專題:2025供應鏈數智化與效率提升報告|附100+份報告PDF、原數據表匯總下載

全文鏈接:https://tecdat.cn/?p42926 在全球產業鏈重構與數字技術革命的雙重驅動下,供應鏈正經歷從傳統經驗驅動向數據智能驅動的范式變革。從快消品產能區域化布局到垂類折扣企業的效率競賽,從人形機器人的成本優化到供應鏈金融對中小企業的…

uniapp+vue3+ts項目:實現小程序文件下載、預覽、進度監聽(含項目、案例、插件)

uniapp+vue3+ts項目:實現小程序文件下載、預覽、進度監聽(含項目、案例、插件) 支持封裝調用: 項目采用uniapp+vue3+ts +京東nutUI 開發nutUi文檔:loadingPage組件:https://uniapp-nutui.tech/components/exhibition/loadingpage.html案例效果圖: 略博主自留地:參考本地…

用Python和OpenCV從零搭建一個完整的雙目視覺系統(六 最終篇)

本系列文章旨在系統性地闡述如何利用 Python 與 OpenCV 庫,從零開始構建一個完整的雙目立體視覺系統。 本項目github地址:https://github.com/present-cjn/stereo-vision-python.git 1. 概述 歡迎來到本系列文章的最后一篇。在過去的幾篇文章中&#…

Android View 繪制流程 簡述 (無限遞歸+BitMap問題)

繪制流程 在 Android 的 View 系統中,draw(canvas) 和 dispatchDraw(canvas) 是繪制流程中的兩個關鍵方法: 1. draw(canvas) 方法的作用 draw(canvas) 是 View 類中的核心繪制方法,它的主要職責包括: 繪制背景 - 調用 drawBac…

算法學習筆記:18.拉斯維加斯算法 ——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

在隨機化算法領域,拉斯維加斯(Las Vegas)算法以其獨特的設計思想占據重要地位。與蒙特卡洛(Monte Carlo)算法不同,拉斯維加斯算法總能給出正確的結果,但運行時間具有隨機性 —— 在最壞情況下可…

26-計組-指令執行過程

一、指令周期1. 定義與組成定義:CPU取出并執行一條指令所需的全部時間,稱為指令周期。子周期劃分:取指周期(必選):從存儲器取指令到指令寄存器(IR)。間址周期(可選&#…

【JMeter】數據驅動測試

文章目錄創建數據文件加載數據文件根據數據文件請求接口、傳遞參數拓展含義:根據數據的數量、內容,自動的決定用例的數據和內容。數據驅動測試用例。步驟: 創建數據文件加載數據文件根據數據文件請求接口、傳遞參數 創建數據文件 Jmeter支…

Springboot實現一個接口加密

首先來看效果這個主要是為了防止篡改請求的。 我們這里采用的是一個AOP的攔截,在有需要這樣的接口上添加了加密處理。 下面是一些功能防篡改HMAC-SHA256 參數簽名密鑰僅客戶端 & 服務器持有防重放秒級時間戳 有效窗口校驗默認允許 5 分鐘防竊聽AES/CBC/PKCS5Pa…