計算機網絡筆記再戰——理解幾個經典的協議HTTP章3

理解幾個經典協議——HTTP章3

返回結果的HTTP狀態碼

? 我們知道,ICMP可以傳遞IP通信時候的狀態如何。HTTP雖然沒有輔助的解析,但是它可以使用狀態碼來表達我們的HTTP請求的結果,標記服務器端的處理是否正常、通知出現的錯誤等工作。這就是狀態碼的職責。

? 比如說,當我們的狀態碼是2xx的時候,就說明我們的請求不光到達了服務器,而且還得到了正確的處理。如果出現了4XX,則是說明我們的服務器無法請求處理(這個請求是你的請求出現的問題),如果出現了5XX,說明是服務器內部的錯誤,這是服務器的問題。所以,我們對狀態碼的第一位做一個分類,可以得到:

種類類別原因短語
1XX信息性狀態碼接收的請求正在處理
2XX成功狀態碼請求正常處理完畢
3XX重定向狀態碼需要進行附加操作以完成請求
4XX客戶端錯誤碼服務器無法處理請求,這是客戶端的請求非法導致的
5XX服務端錯誤碼服務端請求處理出錯了,這是服務器內部的錯誤

? 具體每一個號碼的請求請參考附錄。

與 HTTP 協作的 Web 服務器

? 我們的HTTP/1.1 規范允許一臺 HTTP 服務器搭建多個 Web 站點。這就是使用物理單臺主機的虛擬多主機(也就是說,我們虛擬化了我們的主機,看起來有很多臺主機在運作,但是實際上只有一臺)

? 客戶端使用 HTTP 協議訪問服務器時,會經常采用類似這樣的主機名和域名。在互聯網上,域名通過 DNS 服務映射到 IP 地址(域名解析)之后訪問目標網站。可見,當請求發送到服務器時,已經是以 IP 地址形式訪問了。

通信數據轉發程序 :代理、網關、隧道

? HTTP通信除了圍繞我們的客戶端和服務器之外,還會有一部分用來進行通信數據轉發。比如說,我們的代理,網關和隧道,他們配合我們的服務器進行工作。

代理

? 代理是一種有轉發功能的應用程序,它扮演了位于服務器和客戶端“中間人”的角色,接收由客戶端發送的請求并轉發給服務器,同時也接收服務器返回的響應并轉發給客戶端。這個時候,我們授權讓我們的代理跟我們的服務器進行通話,而不是我們本人

網關

? 網關是轉發其他服務器通信數據的服務器,接收從客戶端發送來的請求時,它就像自己擁有資源的源服務器一樣對請求進行處理。有時客戶端可能都不會察覺,自己的通信目標是一個網關。

隧道

? 隧道是在相隔甚遠的客戶端和服務器兩者之間進行中轉,并保持雙方通信連接的應用程序。我們一般會用來進行安全加密,保證一個安全的HTTP通信

資源的緩存

? 緩存是指代理服務器或客戶端本地磁盤內保存的資源副本。利用緩存可減少對源服務器的訪問,因此也就節省了通信流量和通信時間。

? 緩存服務器是代理服務器的一種,并歸類在緩存代理類型中。換句話說,當代理轉發從服務器返回的響應時,代理服務器將會保存一份資源的副本。

? 這個場景,是我們用在請求一部分資源的時候,我們的緩存服務器會咨詢我們的源服務器對應的資源是否有效,如果有效,緩存服務器直接將緩存的副本傳遞回來,而不是再請求一次資源。畢竟,傳遞“這個資源有效,就用你原來的”的消耗遠比直接不管不顧再發送資源來的快。

? 當然,資源本身也是有期限的,不管是不是過期了,失能的資源需要再向服務器發起請求刷新。

附錄

狀態碼大全

狀態碼含義出現狀態碼的原因
100Continue客戶端應繼續其請求,服務器已接收到請求的初始部分
101Switching Protocols服務器已理解請求,并將切換協議
102Processing服務器已收到并正在處理請求,但尚未完成
200OK請求成功
201Created請求成功并創建了新資源
202Accepted請求已被接受,但尚未處理
203Non-Authoritative Info返回的信息來自第三方而非原始服務器
204No Content請求成功,但無返回內容
205Reset Content請求成功,請重置文檔視圖
206Partial Content服務器成功處理了部分請求
207Multi-Status響應包含多個獨立操作結果(WebDAV)
300Multiple Choices請求有多種可用響應
301Moved Permanently請求的資源已永久移動到新位置
302Found請求的資源臨時從不同 URI 響應
303See Other請求應通過另一個 URI 獲取資源
304Not Modified資源未修改,可使用緩存
305Use Proxy請求應使用代理訪問
307Temporary Redirect請求的資源臨時從不同 URI 響應(方法不變)
308Permanent Redirect請求的資源永久從不同 URI 響應(方法不變)
400Bad Request請求格式錯誤,服務器無法理解
401Unauthorized請求未經授權,需身份驗證
402Payment Required保留狀態碼,預留用于將來支付機制
403Forbidden服務器理解請求但拒絕執行
404Not Found請求的資源不存在
405Method Not Allowed請求方法被禁止
406Not Acceptable請求的資源不滿足客戶端的 Accept 頭要求
407Proxy Authentication Req需要代理身份驗證
408Request Timeout請求超時
409Conflict請求沖突(例如資源狀態沖突)
410Gone請求的資源已被永久刪除
411Length Required請求未定義 Content-Length 頭
412Precondition Failed請求頭中指定的前提條件失敗
413Payload Too Large請求實體過大
414URI Too Long請求的 URI 過長
415Unsupported Media Type請求格式不受支持
416Range Not Satisfiable請求的范圍無效
417Expectation Failed請求頭中的 Expect 無法滿足
418I’m a teapot玩笑用的狀態碼,不支持沖泡咖啡
421Misdirected Request請求被發送到不能生產響應的服務器
422Unprocessable Entity請求格式正確但語義錯誤(WebDAV)
423Locked資源被鎖定(WebDAV)
424Failed Dependency由于之前的請求失敗,當前請求失敗(WebDAV)
425Too Early服務器不愿意處理過早的請求
426Upgrade Required客戶端需升級協議
428Precondition Required需指定請求條件以防止沖突
429Too Many Requests客戶端發送請求過多,已被限流
431Request Header Fields Too Large請求頭字段過大
451Unavailable For Legal Reasons請求內容因法律原因不可用
500Internal Server Error服務器內部錯誤
501Not Implemented服務器不支持請求方法
502Bad Gateway網關服務器收到無效響應
503Service Unavailable服務器暫時超載或維護中
504Gateway Timeout網關服務器請求超時
505HTTP Version Not Supported不支持的 HTTP 版本
506Variant Also Negotiates內容協商出現循環引用
507Insufficient Storage服務器無法存儲請求所需內容(WebDAV)
508Loop Detected服務器檢測到無限循環(WebDAV)
510Not Extended請求需進一步擴展
511Network Authentication Required需要進行網絡認證

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

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

相關文章

國產編輯器EverEdit - Hex Dump插件:看到文本的另一面!

1 Hex Dump插件 1.1 應用場景 有時可能需要顯示字母的ASCII編碼,或其他文字的字節編碼,可以使用Hex Dump插件來完成 1.2 使用方法 安裝Hex Dump插件,安裝插件方法參考:擴展管理 在編輯器中選中文本,選擇擴展 -> …

《駕馭MXNet:深度剖析分布式深度學習訓練的高效之道》

在深度學習的迅猛發展進程中,模型的規模和復雜性持續攀升,對計算資源的需求也愈發苛刻。單機訓練在面對大規模數據集和復雜模型結構時,常常顯得力不從心。分布式深度學習訓練成為解決這一困境的關鍵途徑,而MXNet作為一款強大的開源…

Vue3項目開發:狀態管理實踐指南

# Vue3項目開發:狀態管理實踐指南 一、引言 背景介紹 在Vue項目中,狀態管理是一個非常重要的話題。合理的狀態管理能夠幫助我們更好地組織和管理數據,提升項目的可維護性和可擴展性。本文將深入探討Vue3項目中狀態管理的最佳實踐,…

網絡安全漏洞與修復 網絡安全軟件漏洞

文章目錄 一、軟件漏洞的概念 1、信息安全漏洞簡述2、軟件漏洞3、軟件漏洞概念4、軟件漏洞的成因分析 二、軟件漏洞標準化管理 1、軟件漏洞分類2、軟件漏洞分級3、安全漏洞管理規范 一、軟件漏洞的概念 1、信息安全漏洞簡述 信息安全漏洞是信息安風險的主要根源之一&…

SpringBoot項目controller層接收對應格式請求的相關RequestMapping配置

目錄 (1) (2) (3) 注:此情況注意和(4)中情況進行區分 (4) 在幾個springboot項目開發后,我總結了以下的一些常見的接收對應請求的…

2025年圖生視頻模型技術全景解析

一、開源圖生視頻模型 阿里通義萬象Wan2.1系列 I2V-14B-480P: 14B參數基礎模型支持480P分辨率圖生視頻顯存需求16GB以上 I2V-14B-720P: 高清增強版模型采用分幀渲染技術,輸出分辨率達1280720 技術特性: 支持中文提示詞自動解析內置…

一場由 ES 分片 routing 引發的問題

一場由 ES 分片 routing 引發的問題 ES 結構 {"poroperties": {"joinType": {"type": "join","eager_global_ordinals": true,"relations": {"spu": "sku"}},"id":{"type&q…

Linux信號的處理

目錄 一、信號處理概述:為什么需要“信號”? 二、用戶空間與內核空間:進程的“雙重人格” 三、內核態與用戶態:權限的“安全鎖” 四、信號捕捉的內核級實現:層層“安檢” 五、sigaction函數:精細控制信…

IntelliJ IDEA 2023.3.1安裝指南從下載到配置的完整教程(附資源下載)

安裝 IntelliJ IDEA 2023.3.1 非常簡單,以下是詳細的安裝步驟,適用于 Windows、macOS 和 Linux 系統。 1. 下載 IntelliJ IDEA IntelliJ IDEA下載鏈接:https://pan.quark.cn/s/3ad975664934 選擇適合你的操作系統的版本: Ultimat…

【HarmonyOS Next】鴻蒙中App、HAP、HAR、HSP概念詳解

【HarmonyOS Next】鴻蒙中App、HAP、HAR、HSP概念詳解 (圖1-1) 一、鴻蒙中App、HAP、HAR、HSP是什么? (1)App Pack(Application Package) 是應用發布的形態,上架應用市場是以App Pa…

配置阿里云yum源

配置阿里云yum源 修改默認的yum倉庫,把原有的移動到創建的目錄里(踢出國外的yum源) # 切換到/ect/yum.repos.d/目錄下 cd /etc/yum.repos.d/ # 新建repo目錄 mkdir repo # 把原有的移動到創建的目錄里 mv ./*.repo ./repo/配置yum源 # 找到…

在C#的MVC框架framework項目的使用ajax,及源碼下載

在C# MVC框架中使用AJAX實現異步請求,有助于提高應用程序的性能和用戶體驗。 在MVC框架framework項目中,ajax使用方法如下 1.在Controller類中,創建一個新的方法(例如:GetRes),該方法處理AJAX請求并返回J…

Linux部署DHCP服務腳本

#!/bin/bash #部署DHCP服務 #userli 20250319#檢查是否為root用戶 if[ "$USER" ! "root" ] thenecho "錯誤:非root用戶,權限不足!"exit 0 fi#配置網絡環境 read -ep "請給本機配置一個IP地址(不…

vulhub Matrix-Breakout

1.下載靶機,打開靶機和kali虛擬機 2.查詢kali和靶機ip 3.瀏覽器訪問 訪問81端口有登陸界面 4.掃描敏感目錄 kali dirb 掃描 一一訪問 robot.txt提示我們繼續找找,可能是因為我們的字典太小了,我們換個掃描器換個字典試下,利用kali自帶的最大…

科普類——雙目立體視覺與 RGBD 相機的簡單對比

雙目立體視覺與 RGBD 相機生成的深度圖在原理、性能和應用場景上有顯著差異。以下是兩者的詳細對比和分析: 1. 原理差異 (1) 雙目立體視覺 (Stereo Vision) 原理: 通過兩個攝像頭模擬人眼視差,計算匹配像素點的水平位移(視差&…

深度學習項目--基于DenseNet網絡的“乳腺癌圖像識別”,準確率90%+,pytorch復現

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 前言 如果說最經典的神經網絡,ResNet肯定是一個,從ResNet發布后,很多人做了修改,denseNet網絡無疑是最成功的…

面試八股 —— Redis篇

重點:緩存 和 分布式鎖 緩存(穿透,擊穿,雪崩) 降級可作為系統的保底策略,適用于穿透,擊穿,雪崩 1.緩存穿透 2.緩存擊穿 3.緩存雪崩 緩存——雙寫一致性 1.強一致性業務&#xff08…

mapbox-gl源碼中解析style加載地圖過程詳解

我將結合 Mapbox GL JS 的源碼示例,一步一步講解 style 的解析和地圖加載過程,幫助大家深入理解其內部機制。 Mapbox GL JS 是一個強大的 Web 地圖庫,利用 WebGL 技術渲染交互式地圖。其核心功能之一是通過樣式(style&#xff09…

瑞薩RA系列使用JLink RTT Viewer輸出調試信息

引言 還在用UART調試程序么?試試JLINK的RTT Viewer吧!不需占用UART端口、低資源暫用、實時性高延時微秒級,這么好的工具還有什么理由不用了! 目錄 一、JLink RTT Viewer 簡介 二、軟件安裝 三、工程應用 3.1 SEGGER_RTT驅動包 3.2 手搓宏定義APP_PRINT 3.3 使用APP_…

MySQL 入門大全:查詢語言分類

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/literature?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,…