深入解析 HTTP 狀態碼

????????在日常的網絡瀏覽和 Web 開發過程中,我們總會不可避免地遇到各種 HTTP 狀態碼。比如常見的 “404 Not Found”,它意味著我們所請求的頁面不存在;還有 “500 Internal Server Error”,表示服務器端出現了錯誤。這些由三位數字組成的代碼,看似簡單,卻承載著 Web 服務器與客戶端之間重要的通信信息,是排查網絡問題、優化 Web 應用性能的關鍵 “密碼”。本文將帶大家全面、深入地了解 HTTP 狀態碼,從基礎概念到各類狀態碼的詳細解讀,再到實際應用中的實用技巧,助你輕松掌握這一 Web 開發與網絡使用的必備知識。

一、HTTP 狀態碼的基礎認知

HTTP 狀態碼(HTTP Status Code)是由萬維網聯盟(W3C)定義的,用于表示 HTTP 請求處理結果的三位數字代碼。當客戶端(如瀏覽器、手機 App 等)向 Web 服務器發送一個 HTTP 請求后,服務器會根據請求的處理情況,返回一個包含狀態碼的響應頭,客戶端再根據這個狀態碼來判斷請求是否成功,并采取相應的后續操作。

HTTP 狀態碼的首位數字決定了其所屬的類別,共分為五大類,分別對應不同的響應情況,這為我們快速判斷請求問題所在提供了清晰的方向。

二、五大類 HTTP 狀態碼詳細解析

(一)1xx 信息性狀態碼:請求已接收,繼續處理

1xx 系列狀態碼屬于信息提示類,它表示服務器已經成功接收了客戶端發送的請求,并且正在對請求進行進一步的處理,同時告知客戶端需要繼續等待后續的響應。這類狀態碼在實際應用中并不常見,因為大部分客戶端會自動處理后續流程,不會將其直接展示給用戶。

  • 100 Continue(繼續):當客戶端向服務器發送包含請求體的 POST 或 PUT 等請求時,會先發送一個不帶請求體、僅包含Expect: 100-continue頭字段的請求,用于詢問服務器是否愿意接收后續的請求體。如果服務器返回 100 Continue 狀態碼,就表示服務器已經做好了接收請求體的準備,客戶端可以繼續發送請求體;若服務器返回其他狀態碼(如 400 Bad Request),則客戶端需要停止發送請求體,并根據返回的狀態碼進行相應處理。例如,在文件上傳場景中,客戶端先發送請求頭部詢問服務器,服務器返回 100 Continue 后,客戶端才開始上傳文件數據,這樣可以避免在服務器無法處理該請求時,客戶端白白上傳大量數據,節省網絡資源。
  • 101 Switching Protocols(切換協議):該狀態碼表示服務器同意根據客戶端的請求,將當前使用的 HTTP 協議切換為其他協議,比如 WebSocket 協議。在一些需要實時通信的應用中,如在線聊天、實時游戲數據同步等,客戶端會先通過 HTTP 協議向服務器發送請求,要求切換到 WebSocket 協議。當服務器返回 101 Switching Protocols 狀態碼時,就意味著協議切換成功,之后客戶端和服務器就可以通過新的協議進行高效的雙向通信,不再受 HTTP 協議單向請求 - 響應模式的限制。

(二)2xx 成功狀態碼:請求已成功處理

2xx 系列狀態碼是我們在網絡請求中最希望看到的,它們表示客戶端發送的 HTTP 請求已經被服務器成功接收、理解并處理完成,服務器會根據請求的類型返回相應的成功響應數據。

  • 200 OK(成功):這是最常見的成功狀態碼,幾乎所有成功的 GET、POST、PUT 等請求(除了需要特殊處理的情況)都會返回該狀態碼。它表示服務器已經成功處理了客戶端的請求,并將請求的資源或處理結果通過響應體返回給客戶端。例如,當我們在瀏覽器中輸入網址訪問一個網頁時,若服務器正常響應,就會返回 200 OK 狀態碼,并將網頁的 HTML、CSS、JavaScript 等資源一并返回,瀏覽器再將這些資源渲染成我們看到的網頁;當我們在 App 中提交表單數據(如注冊、登錄),服務器驗證通過并處理完成后,也會返回 200 OK 狀態碼,同時可能返回用戶信息、操作成功提示等數據。
  • 201 Created(已創建):該狀態碼通常用于 POST 請求,表示服務器已經成功根據客戶端的請求創建了新的資源。例如,在 RESTful API 開發中,當客戶端發送 POST 請求向服務器提交數據以創建一個新的用戶、一篇文章或一個訂單時,若創建成功,服務器會返回 201 Created 狀態碼,并且在響應頭的Location字段中指定新創建資源的 URI(統一資源標識符),客戶端可以通過該 URI 直接訪問新創建的資源。同時,響應體中可能會包含新創建資源的詳細信息,方便客戶端后續操作。比如,客戶端發送 POST 請求創建一個新用戶,服務器返回 201 Created,Location字段為/users/123,表示新用戶的 ID 為 123,客戶端后續可以通過訪問/users/123來獲取該用戶的信息。
  • 204 No Content(無內容):此狀態碼表示服務器已經成功處理了客戶端的請求,但沒有返回任何響應體數據。它通常用于那些只需要服務器執行某個操作,而不需要返回具體資源內容的請求,比如 DELETE 請求刪除資源、PUT 請求更新資源但不需要返回更新后的資源詳情等。例如,當客戶端發送 DELETE 請求刪除一個不需要的文件或一條過期的數據時,服務器成功刪除后,會返回 204 No Content 狀態碼,告知客戶端操作已成功,但由于資源已被刪除,沒有額外的數據需要返回;當客戶端發送 PUT 請求更新用戶的部分信息(如修改密碼),服務器更新成功后,若不需要返回完整的用戶信息,也可以返回 204 No Content 狀態碼。
  • 206 Partial Content(部分內容):該狀態碼用于斷點續傳和分片下載場景,表示服務器成功處理了客戶端的部分請求,只返回了請求資源的一部分。當客戶端需要下載一個較大的文件(如視頻、大型安裝包等)時,為了提高下載效率、避免因網絡中斷導致重新下載,客戶端會將文件分成多個部分,每次只請求其中的一部分,并在請求頭中通過Range字段指定請求的字節范圍(如Range: bytes=0-1023表示請求文件的前 1024 個字節)。服務器接收到這樣的請求后,會根據Range字段返回對應的部分文件數據,并返回 206 Partial Content 狀態碼,同時在響應頭中通過Content-Range字段告知客戶端當前返回數據的字節范圍以及整個文件的總大小(如Content-Range: bytes 0-1023/10240表示當前返回 0-1023 字節,文件總大小為 10240 字節)。客戶端接收到各部分數據后,會將它們拼接成完整的文件。

(三)3xx 重定向狀態碼:需要進一步操作以完成請求

3xx 系列狀態碼表示客戶端發送的請求需要通過進一步的操作(通常是跳轉至其他 URL)才能完成。服務器會通過響應頭中的Location字段指定客戶端需要跳轉的目標 URL,客戶端根據狀態碼的具體含義和Location字段的值進行相應的重定向操作。

  • 301 Moved Permanently(永久重定向):該狀態碼表示請求的資源已經被永久地移動到了新的 URL(由Location字段指定),以后所有對該舊 URL 的請求都應該直接發送到新的 URL。搜索引擎在抓取網頁時,如果發現某個頁面返回 301 Moved Permanently 狀態碼,會將舊 URL 的權重和排名轉移到新 URL 上,不會對網站的 SEO(搜索引擎優化)造成負面影響。常見的應用場景包括:網站域名更換后,將舊域名的所有請求重定向到新域名;網站頁面結構調整,某個頁面的 URL 發生改變,將舊 URL 重定向到新 URL,以保證用戶通過舊鏈接仍能訪問到正確的內容。例如,舊網址http://old-example.com/page返回 301 狀態碼,Location字段為http://new-example.com/new-page,之后用戶再訪問舊網址時,瀏覽器會自動跳轉到新網址,且后續再次訪問該舊網址時,會直接從緩存中獲取新網址進行跳轉(部分瀏覽器會緩存 301 重定向)。
  • 302 Found(臨時重定向):此狀態碼表示請求的資源臨時被移動到了新的 URL(由Location字段指定),但這種移動只是暫時的,未來資源可能還會回到原來的舊 URL。與 301 永久重定向不同,搜索引擎在遇到 302 臨時重定向時,不會將舊 URL 的權重轉移到新 URL 上,仍會保留舊 URL 的索引和排名。應用場景包括:網站進行臨時維護時,將所有請求重定向到一個臨時維護頁面;用戶未登錄時,訪問需要登錄才能查看的頁面,服務器將請求重定向到登錄頁面,用戶登錄成功后再跳轉回原來請求的頁面;電商網站在促銷活動期間,將某個商品的鏈接臨時重定向到活動專題頁面,活動結束后再恢復原來的鏈接。例如,用戶訪問http://example.com/member(需要登錄的會員頁面),若未登錄,服務器返回 302 Found 狀態碼,Location字段為http://example.com/login,瀏覽器自動跳轉到登錄頁面,用戶登錄后,服務器再將其重定向回http://example.com/member頁面。
  • 304 Not Modified(未修改):該狀態碼用于緩存機制,表示客戶端請求的資源自上次請求以來沒有發生修改,服務器不需要返回完整的資源內容,客戶端可以直接使用本地緩存的資源。這一機制極大地減少了網絡傳輸的數據量,提高了網頁加載速度,降低了服務器的負載。其工作原理是:客戶端第一次請求資源時,服務器返回資源內容和響應頭,其中包含Last-Modified(資源最后修改時間)或ETag(資源的唯一標識,如文件哈希值)字段。當客戶端再次請求該資源時,會在請求頭中通過If-Modified-Since(對應Last-Modified)或If-None-Match(對應ETag)字段攜帶上次獲取的資源修改時間或標識。服務器接收到請求后,會根據這些字段判斷資源是否發生變化:若資源未修改,就返回 304 Not Modified 狀態碼,不返回響應體;若資源已修改,則返回 200 OK 狀態碼和更新后的資源內容。例如,我們第二次訪問同一個網頁時,瀏覽器會發送帶有If-Modified-Since或If-None-Match的請求,若網頁未更新,服務器返回 304,瀏覽器直接使用本地緩存的網頁數據進行渲染,讓網頁瞬間加載完成。
  • 307 Temporary Redirect(臨時重定向,保持請求方法):307 狀態碼與 302 Found 類似,都表示資源臨時被移動到新 URL,但它有一個重要的區別:307 要求客戶端在重定向時必須保持原來的請求方法不變,而 302 在實際應用中,部分客戶端可能會將 POST 請求改為 GET 請求(這是不符合 HTTP 標準的,但由于歷史原因,一些瀏覽器存在這樣的行為)。在需要嚴格保持請求方法的場景下,應優先使用 307 Temporary Redirect。例如,客戶端通過 POST 請求向服務器提交表單數據,由于某些原因(如服務器臨時故障,需要將請求轉移到備用服務器),服務器需要將請求臨時重定向到新 URL。此時若使用 302 狀態碼,部分瀏覽器可能會將 POST 請求改為 GET 請求,導致表單數據無法正確提交;而使用 307 狀態碼,客戶端會嚴格按照原來的 POST 方法向新 URL 發送請求,確保數據提交的正確性。
  • 308 Permanent Redirect(永久重定向,保持請求方法):308 狀態碼與 301 Moved Permanently 類似,都表示資源永久被移動到新 URL,但它同樣要求客戶端在重定向時保持原來的請求方法不變,這一點與 307 對應 302 的關系一致。在需要永久重定向且必須保持請求方法的場景下,應使用 308 Permanent Redirect 替代 301。例如,一個 API 接口的 URL 發生了永久性變更,且該接口主要接收 POST 請求。若使用 301 狀態碼進行重定向,部分客戶端可能會將 POST 請求改為 GET 請求,導致 API 無法正常工作;而使用 308 狀態碼,客戶端會始終以 POST 方法向新的 API URL 發送請求,保證 API 服務的連續性。

(四)4xx 客戶端錯誤狀態碼:請求存在錯誤,服務器無法處理

4xx 系列狀態碼表示客戶端發送的請求存在錯誤(如請求的資源不存在、權限不足、請求格式不正確等),導致服務器無法正常處理該請求。這類錯誤的責任通常在客戶端,需要客戶端修正請求后重新發送。

  • 400 Bad Request(錯誤請求):該狀態碼表示服務器無法理解客戶端發送的請求,因為請求存在語法錯誤、參數缺失或參數格式不正確等問題。例如,客戶端向服務器發送 POST 請求提交表單數據時,未按照服務器要求的格式傳遞參數(如將數字類型的參數傳遞為字符串、缺少必填的表單字段);或者在發送 JSON 格式的請求體時,JSON 語法錯誤(如缺少引號、逗號使用錯誤等)。服務器接收到這樣的請求后,無法解析和處理,就會返回 400 Bad Request 狀態碼,并可能在響應體中說明具體的錯誤原因(如 “缺少必填參數:username”“JSON 格式錯誤:第 5 行缺少右引號”),幫助客戶端開發者排查問題。
  • 401 Unauthorized(未授權):此狀態碼表示客戶端在請求需要身份驗證的資源時,未提供有效的身份憑證(如用戶名密碼、Token 令牌等),或者提供的憑證無效。服務器通過該狀態碼告知客戶端,需要先進行身份驗證才能訪問該資源。在響應頭中,服務器通常會通過WWW-Authenticate字段指定需要的身份驗證方式(如 Basic 認證、Bearer Token 認證等)。例如,用戶未登錄就直接訪問需要登錄的后臺管理系統頁面,或者客戶端在調用需要 Token 驗證的 API 接口時,未在請求頭中攜帶 Token,或攜帶的 Token 已過期、無效,服務器都會返回 401 Unauthorized 狀態碼。此時,客戶端需要引導用戶進行登錄操作(如跳轉到登錄頁面),或重新獲取有效的 Token 并攜帶在請求中,再次發送請求。
  • 403 Forbidden(禁止訪問):該狀態碼表示客戶端已經通過了身份驗證(即服務器知道客戶端是誰),但客戶端所擁有的權限不足以訪問請求的資源,服務器拒絕提供該資源的訪問權限。與 401 Unauthorized(未驗證身份)不同,403 Forbidden 強調的是 “身份已驗證,但權限不夠”。例如,普通用戶登錄后臺管理系統后,嘗試訪問只有管理員才能查看的 “用戶管理”“系統設置” 等頁面;或者客戶端通過 API 接口請求獲取其他用戶的隱私數據(如查看其他用戶的訂單記錄、個人聯系方式),但該客戶端的賬號沒有對應的訪問權限,服務器都會返回 403 Forbidden 狀態碼。此時,即使客戶端重新提交身份憑證,只要權限未變更,請求仍會被拒絕,需要聯系管理員提升權限才能訪問。
  • 404 Not Found(未找到):這是最廣為人知的客戶端錯誤狀態碼,表示客戶端請求的資源在服務器上不存在。導致 404 的原因有很多,比如:客戶端輸入的 URL 錯誤(如拼寫錯誤、網址路徑錯誤);服務器上的資源被刪除或移動,但未設置相應的重定向;網站路由配置錯誤,導致服務器無法將請求映射到正確的資源。例如,用戶想訪問http://example.com/about頁面,但實際網站中并沒有該頁面(正確路徑可能是http://example.com/about-us);或者服務器上原來存在的文件http://example.com/files/report.pdf被刪除,客戶端再次請求該文件時,服務器就會返回 404 Not Found 狀態碼。為了提升用戶體驗,很多網站會自定義 404 頁面,向用戶說明頁面不存在,并提供返回首頁、搜索等功能。
  • 405 Method Not Allowed(方法不允許):該狀態碼表示客戶端使用的 HTTP 請求方法(如 GET、POST、PUT、DELETE 等)在當前請求的 URL 上不被允許。服務器會在響應頭的Allow字段中列出該 URL 支持的所有請求方法,幫助客戶端了解正確的請求方式。例如,某個 API 接口http://example.com/api/users只支持 GET(獲取用戶列表)和 POST(創建用戶)方法,若客戶端使用 PUT 方法向該接口發送請求(意圖更新用戶信息),服務器就會返回 405 Method Not Allowed 狀態碼,同時Allow字段會顯示GET, POST,告知客戶端該接口僅支持這兩種請求方法。此時,客戶端需要檢查請求方法是否符合服務器的接口規范,更換為允許的方法后重新發送請求。
  • 406 Not Acceptable(無法接受):此狀態碼表示服務器無法返回客戶端在請求頭中通過Accept字段指定的格式或類型的資源。Accept字段用于客戶端告知服務器自己能夠處理的響應內容類型(如text/html、application/json、image/jpeg等)。如果服務器沒有客戶端可接受的資源類型,就會返回 406 Not Acceptable 狀態碼。例如,客戶端發送請求時,在請求頭中設置Accept: application/xml,表示只接受 XML 格式的響應數據,但服務器該接口僅能返回 JSON 格式的數據(application/json),無法滿足客戶端的要求,就會返回 406 狀態碼。此時,客戶端需要修改Accept字段,允許接收服務器支持的內容類型,或者服務器需要擴展支持的響應格式。
  • 408 Request Timeout(請求超時):該狀態碼表示服務器在規定的時間內沒有收到客戶端發送的完整請求(包括請求頭和請求體)

三、總結

狀態碼

代碼名稱

所屬類別

核心說明

100

Continue

1xx 信息性狀態碼

服務器已接收請求頭,告知客戶端可繼續發送請求體,常用于文件上傳等場景避免資源浪費

101

Switching Protocols

1xx 信息性狀態碼

服務器同意按客戶端請求切換協議(如 HTTP 轉 WebSocket),支持實時雙向通信

200

OK

2xx 成功狀態碼

最常見成功碼,服務器已成功處理請求并返回對應資源或結果,適用于多數 GET、POST 等請求

201

Created

2xx 成功狀態碼

用于 POST 請求,服務器成功創建新資源,響應頭 Location 字段會指定新資源 URI

204

No Content

2xx 成功狀態碼

服務器成功處理請求,但無響應體返回,適用于 DELETE 刪除資源、PUT 更新無需返回詳情等場景

206

Partial Content

2xx 成功狀態碼

用于斷點續傳 / 分片下載,服務器僅返回請求資源的部分內容,響應頭含 Content-Range 說明范圍

301

Moved Permanently

3xx 重定向狀態碼

資源永久遷移至新 URL,后續請求需直接訪問新地址,搜索引擎會轉移舊 URL 權重

302

Found

3xx 重定向狀態碼

資源臨時遷移至新 URL,未來可能恢復原地址,搜索引擎不轉移舊 URL 權重,部分客戶端可能變更請求方法

304

Not Modified

3xx 重定向狀態碼

基于緩存機制,資源未修改,客戶端可直接使用本地緩存,減少網絡傳輸和服務器負載

307

Temporary Redirect

3xx 重定向狀態碼

類似 302,但嚴格要求客戶端重定向時保持原請求方法,避免 POST 變 GET 等問題

308

Permanent Redirect

3xx 重定向狀態碼

類似 301,但嚴格要求客戶端重定向時保持原請求方法,適用于需永久跳轉且保持方法的場景

400

Bad Request

4xx 客戶端錯誤狀態碼

服務器無法理解請求,因請求存在語法錯誤、參數缺失 / 格式錯誤等,需客戶端修正后重試

401

Unauthorized

4xx 客戶端錯誤狀態碼

請求需身份驗證,但客戶端未提供有效憑證(如 Token 過期、未登錄),需完成驗證后再請求

403

Forbidden

4xx 客戶端錯誤狀態碼

客戶端已通過身份驗證,但權限不足無法訪問資源,提升權限后才可正常請求

404

Not Found

4xx 客戶端錯誤狀態碼

客戶端請求的資源在服務器不存在,可能因 URL 錯誤、資源被刪或路由配置問題

405

Method Not Allowed

4xx 客戶端錯誤狀態碼

客戶端使用的 HTTP 方法(如 PUT)在當前 URL 不被允許,響應頭 Allow 字段會列出支持的方法

406

Not Acceptable

4xx 客戶端錯誤狀態碼

服務器無法返回客戶端通過 Accept 字段指定的內容類型(如僅支持 JSON 卻要求 XML)

408

Request Timeout

4xx 客戶端錯誤狀態碼

服務器在規定時間內未收到客戶端的完整請求(含請求頭和請求體)

500

Internal Server Error

5xx 服務器錯誤狀態碼

服務器在處理請求時發生未知的內部錯誤(如代碼邏輯 bug、數據庫連接失敗等),無法完成請求處理,需開發者排查服務器端問題

502

Bad Gateway

5xx 服務器錯誤狀態碼

作為網關 / 代理的服務器,從上游服務器(如后端業務服務器)接收了無效響應,常見于分布式系統中上游服務故障

503

Service Unavailable

5xx 服務器錯誤狀態碼

服務器當前無法處理請求(如服務器過載、維護中),通常是臨時狀態,響應頭可能含 Retry-After 告知重試時間

504

Gateway Timeout

5xx 服務器錯誤狀態碼

作為網關 / 代理的服務器,等待上游服務器響應超時,可能因上游服務器處理緩慢或故障導致

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

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

相關文章

【C++】C++類和對象—(中)

前言:在上一篇類和對象(上)的文章中我們已經帶領大家認識了類的概念,定義以及對類和對象的一些基本操作,接下來我們要逐步進入到類和對象(中)的學習。我們將逐步的介紹類和對象的核心——類和對象的六個默認成員函數。(注意:這六個…

使用python-fastApi框架開發一個學校宿舍管理系統-前后端分離項目

今天給大家分享一個我最近做的一個學校宿舍管理系統,python版,這個系統實現的功能有:首頁 | 學校管理 | 宿舍樓管理 | 宿舍管理 | 學生管理 | 學生調宿 | 學生退宿 | 報修等級 | 宿舍衛生評分 | 違紀記錄 | 管理員管理 。一共有11個菜單。 使…

阻塞 vs 非阻塞:程序等待的兩種哲學

當程序需要等待外部操作時,是應該"干等"還是"邊等邊干"?為什么有些程序會卡住不動,而另一些卻能流暢運行?這一切都取決于阻塞與非阻塞的編程選擇!本文將為你揭示這兩種模式的本質區別!…

MySQL 核心操作全解析(用戶 + SHOW+DML+DCL)

MySQL 核心操作全解析(用戶 SHOWDMLDCL) 基于你提供的實操筆記,我們將 MySQL 核心操作拆解為用戶管理、SHOW 查詢命令、DML 數據操作、TRUNCATE 與 DELETE 對比、DCL 權限控制五大模塊,梳理語法邏輯、補充避坑提示,幫…

多語言編碼Agent解決方案(6)-部署和使用指南

部署和使用指南 本指南提供完整的部署和使用說明,幫助您設置后端服務并在VSCode、Eclipse和IntelliJ中使用相應的插件。這個解決方案基于vLLM提供AI編碼輔助,支持英語、中文和日文。 前提條件 操作系統:Linux、macOS或Windows(推薦…

濾波器的三重境界:從信號處理到自動駕駛測試的基石

在自動駕駛的宏大敘事中,我們常常聚焦于人工智能、深度學習、高精地圖等"明星技術"。然而,在這些耀眼的光環背后,有一個低調卻至關重要的"幕后英雄"——濾波器。它不僅是信號處理的工具,更是連接物理世界與數…

Part4.第8章:神經網絡

第8章 激活函數 如果沒有激活函數,不論幾層的神經網絡都是一個線性回歸。激活函數的作用是引入非線性。

nextjs+shadcn+tailwindcss實現博客中的overview

最近在用nextjsshadcntailwindcss練手,實現一個博客。做到了overView這里,可實現如下效果1.首先要安裝tailwindcss,這個在創建項目的時候就安裝了。2.然后安裝shadcn,官網教程:3.代碼如下:import {Card,CardContent } …

Kotlin 高階語法解析

Kotlin 高級語法深度解析1. 協程(Coroutines)1.1 基礎概念1.掛起和恢復2.協程構建器 (Coroutine Builders)3.協程作用域4.調度器1.2 核心用法1.3 實戰示例2. 密封類(Sealed Classes)2.1 定義與特性2.2 模式匹配2.3 應用場景3. 內聯…

9 基于機器學習進行遙感影像參數反演-以隨機森林為例

目錄 1 讀取數據 2 數據預處理 3模型訓練 4模型預測 5精度分析 由于回歸任務的標簽數據獲取比較困難,我們這次用水體指數NDWI來模擬作為回歸任務的標簽,通過隨機森林來擬合回歸NDWI,其計算公式如下: NDWI = (band3 - band5) / (band3 + band5) 實際情況下需要回歸的數…

C++多線程編程:跨線程操作全解析

C中的"線程"通常指單個執行流(如std::thread對象),而"多線程"指程序中同時存在多個這樣的執行流,并涉及它們的創建、管理和同步。實現跨線程操作的核心在于安全地處理共享數據和線程間通信。 以下是實現跨線程…

【腦電分析系列】第13篇:腦電源定位:從頭皮到大腦深處,EEG源定位的原理、算法與可視化

前言腦電信號(Electroencephalography, EEG)是一種非侵入性的神經成像技術,能夠實時捕捉大腦的電活動。然而,頭皮上記錄到的信號是腦源活動經過頭皮、顱骨等介質“模糊”后的投影。想要從這些頭皮EEG信號追溯到大腦深處的電活動&a…

MySQL知識筆記

DATE_ADD(date,INTERVAL expr type) date 參數是合法的日期表達式。expr 參數是您希望添加的時間間隔。多查官方手冊!!命令行啟動和停止sql服務net start 數據庫名; 這是啟動服務命令; 例如:net start Mysql56…

2025算法八股——深度學習——MHA MQA GQA

MHA、MQA、GQA 都是深度學習中注意力機制的相關概念,其中 MHA 是標準的多頭注意力機制,MQA 和 GQA 則是其優化變體,以下是它們的區別、優缺點介紹:區別MHA(多頭注意力):是 Transformer 架構的核…

Vue3》》eslint Prettier husky

安裝必要的依賴 npm install -D eslint eslint/js vue/eslint-config-prettier prettier eslint-plugin-vue 初始化 ESLint 配置 npm init eslint/config// eslint.config.js // 針對 JavaScript 的 ESLint 配置和規則。保持 JavaScript 代碼的一致性和質量 import js from &qu…

Custom SRP - Point and Spot Lights

https://catlikecoding.com/unity/tutorials/custom-srp/point-and-spot-lights/Lights with Limited Influence1 Point Lights1.1 Other Light Data (Point )同方向光一樣,我們支持有限數量的 Other Light.盡管場景中可能有很多 Other Lights,可能有超過光源上限的光源時可見的…

hive數據倉庫的搭建

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄前言一、內嵌模式二、本地模式三、遠程模式前言 HIVE是基于HDFS的數據倉庫,要首先搭建好HADOOP的集群才可以正常使用HIVE,HADOOP集運搭建詳見…

域名SSL證書免費申請lcjmSSL

.-.lcjmSSL(又名“來此加密”)是一個提供免費SSL證書申請的一站式平臺。它支持單域名、多域名以及泛域名證書申請,且單張證書最高可覆蓋100個域名,讓您輕松實現全站HTTPS加密。為什么您的網站必須安裝SSL證書?數據加密…

“能量逆流泵”:一種基于電容陣與開關矩陣的超高效大功率降壓架構

摘要本文提出并驗證了一種面向大功率降壓應用的革命性電源架構——"能量逆流泵"(Energy Inversion Pump, EIP)。該架構摒棄了傳統Buck轉換器中的電感元件,通過高速開關矩陣控制的電容陣列,將高壓側能量以"分時、分…

打造精簡高效的 uni-app 網絡請求工具

在 uni-app 開發中,網絡請求是連接前端與后端的核心橋梁。一個設計良好的請求工具能夠顯著提升開發效率,減少重復代碼。本文將分享一個精簡版的 uni-app 網絡請求工具實現,它保留了核心功能同時保持了足夠的靈活性。設計思路一個優秀的網絡請…