【計算機網絡】HTTP響應報文Cookie原理

目錄

HTTP響應報文格式

一. 狀態行

狀態碼與狀態碼描述

二. 響應頭

一. 前因

二. Cookie的狀態管理

結束語


HTTP響應報文格式

HTTP響應報文分為四部分

  • 狀態行:包含三部分:協議版本,狀態碼,狀態碼描述
  • 響應頭:響應體的一些屬性信息
  • 空行:由回車符和換行符組成---\r\n
  • 響應體(有效載荷):響應給請求方的內容,如網頁,視頻,音頻等

PS:我們訪問騰訊網其中的每一個可以點擊的鏈接,都會發起一次HTTP請求

一. 狀態行

狀態行包含三部分,彼此之間使用空格分隔

協議版本是服務器使用的HTTP的協議版本。方便和客戶端的HTTP協議進行版本兼容

狀態碼與狀態碼描述

類別原因短語
1XXInformational(信息性狀態碼)接收的請求正在處理
2XXSuccess(成功狀態碼)請求正常處理完畢
3XXRedirection(重定向狀態碼)需要進行附加操作以完成請求
4XXClient Error(客戶端錯誤狀態碼)服務器無法處理請求
5XXServer Error(服務器)服務器處理請求出錯

  • 2XX狀態碼
  • 表示服務器已成功收到請求并進行處理
狀態碼狀態碼英文名稱中文描述
200OK請求成功。一般與GET與POST請求
201Created已創建。成功請求并創建了新的資源。通常用于POST或PUT請求

  • 3XX狀態碼
  • 表示服務器要求客戶端重定向,需要客戶端進一步的操作已完成資源的請求
狀態碼狀態碼英文名稱中文描述
301Moved Permanently永久移動。請求的資源已經被永久的移動到新的URL,返回信息會包括新的URL,瀏覽器會自動定向到新URL。今后任何新的請求都應使用新的URL替代
302Found臨時移動。與301類似。但資源只是被臨時移動。客戶端應繼續原有URL訪問
304Not Modified未修改。所請求的資源未修改,服務器返回狀態碼時,不會返回任何資源(響應信息中不包含響應體)。客戶端通常會緩存訪問過的資源
  • 4XX狀態碼
  • 表示客戶端的請求有非法內容
狀態碼狀態碼英文名稱中文描述
401Unauthorized當前請求需要用戶驗證
403Forbidden服務器已經理解請求,但拒絕執行
404Not Found請求失敗。服務器無法根據客戶端的請求找到資源(網頁)
408Request Timeout請求超時。服務器等待客戶端發送的請求時間過長,超時
400Bad Request

1. 語義有誤,當前請求無法被服務器理解。除非進行修改,否則客戶端不應該重復提交這個請求

2. 請求參數有誤

  • 5XX狀態碼
  • 表示服務器未能正常處理客戶端的請求而出現意外錯誤
狀態碼狀態碼英文名稱中文描述
500Internal Server Error服務器遇到了不知道如何處理的情況。
501Not Implemented此請求方法不被服務器支持且無法被處理。只有GET和HEAD是要求服務器支持的,它們必定不會返回此錯誤代碼。
503Service Unavailable服務器沒有準備好處理請求。由于超載或系統維護,服務器暫時的無法處理客戶端的請求。

常見的狀態碼比如200(OK),404(Not Found),403(Forbidden),302(Redirect 重定向),504(Bad Gatewat)

完整的響應狀態碼及描述可以參看MDN官方文檔:HTTP 響應狀態碼 - HTTP | MDN

補充:重定向

訪問網頁的不僅有用戶,還有爬蟲。永久重定向的應用之一就是服務搜索引擎。當搜索引擎爬蟲到一個永久重定向的網頁,就會將新的URL替代原先的URL,不需要每次都重定向

二. 響應頭

響應頭都是以KV關系保存的信息,包含附加動作,響應體(有效載荷)的屬性等

常見的響應頭:

Content-Length:響應體(有效載荷)的長度

Content-Type:響應體(有效載荷)的類型(網頁,圖片,音頻等)

Content-Language:響應體(有效載荷)的語言環境

Content-Encoding:響應體(有效載荷)的壓縮格式

Location:重定向的位置,新的URL地址、配合301,304使用

Connection:如Keep-Alive,表示保持tcp連接不關閉

referer:當前頁面是從哪個頁面跳轉過來的

Set-Cookie:返回sid,供客戶端下次訪問使用

一. 前因

HTTP是無狀態協議,它不對之前發生的請求和響應的狀態進行管理。也就是說,無法根據之前的狀態進行本次的請求處理

上述現象導致,比如訪問B站,VIP視頻需要登錄驗證,但每換一個VIP視頻都需要登錄驗證一次,因為無法根據之前的登錄狀態進行本次請求處理。這顯示是不能接受的

二. Cookie的狀態管理

圖片來自網絡

Cookie是服務端生成的,保存在客戶端。Cookie有兩種保存方法:

  1. 內存級:保存瀏覽器運行的內存中
  2. 文件級:(1). 持久,需要手動清理 (2). 非持久,有過期時間

客戶端(瀏覽器)將Cookie保存,并在后續的訪問中,將Cookie攜帶在HTTP請求報文中

結束語

本篇博客到此結束,感謝看到此處。
歡迎大家糾錯和補充
如果覺得本篇文章對你有所幫助的話,不妨點個贊支持一下博主,拜托啦,這對我真的很重要。

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

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

相關文章

如何選擇LED天幕屏的型號

隨著LED屏幕技術的不斷成熟,其應用范圍也日益擴大,從傳統的墻面固定安裝,到落地式、租賃移動式,再到LED互動地磚屏和安裝在天花板上的LED天幕屏等,安裝方式多種多樣。那么,在面對如此多元化的選擇時&#x…

PHP基礎 - 類型比較

在 PHP 中,作為一種弱類型語言,它提供了松散比較和嚴格比較兩種方式來比較變量的值和類型。 松散比較: 使用兩個等號(==)進行比較,只會比較變量的值,而不會考慮它們的數據類型。例如: $a = 5; // 整數 $b = 5; // 字符串if ($a == $b) {echo "相等"; // 輸…

C/C++ 編程規范總結

目錄 前言 一、編程規范的作用 二、規范的三種形式 三、規范的內容 1. 基本原則 原則1-1 原則1-2 原則1-3 原則1-4 原則1-5 原則1-6 原則1-7 2. 布局 規則2-1-1 規則2-1-2 規則2-1-3 規則2-1-4 規則2-1-5 規則2-1-6 規則2-2-1 規則2-2-2 規則2-2-3 建議2…

簡單聊聊使用lombok 的爭議

大家好,我是G探險者。 項目里,因為我使用了Lombok插件,然后代碼走查的時候被領導點名了。 我心想,這么好用的插件,為啥不推廣呢,整天寫那些煩人的setter,getter方法就不嫌煩么? 領導…

AidLux:手機/平板上的Linux環境與AI開發利器

AidLux是一個基于ARM架構的跨生態(鴻蒙/AndroidLinux)一站式智能物聯網(AIoT)應用開發和部署平臺,正受到越來越多開發者和用戶的青睞。既可以作為手機/平板上的一個Linux環境使用,也可以作為AI開發利器以發…

Python Django Suit:構建現代化的Django后臺管理

概要 Django Suit是一款為Django后臺管理提供現代、優雅界面的第三方應用,它致力于提升Django開發者的管理體驗。本文將深入介紹Django Suit的安裝、配置和高級功能,提供詳實的示例代碼,幫助大家更好地使用和定制Django后臺管理界面。 安裝與…

無法解除Word文檔限制編輯?上干貨

方法一:新建一個文檔-點擊“插入”-點擊“對象”-點擊選擇中的倒三角-然后選擇“文件中的文字”-找到相應文檔即可 具體操作界面如下圖這個方法會導致格式出現稍稍微的變化 方法二:將受編輯的文件另存為 文件類型一定要選擇*.xml 另存好之后是這樣的 打…

智能優化算法應用:基于法醫調查算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼

智能優化算法應用:基于法醫調查算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼 文章目錄 智能優化算法應用:基于法醫調查算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼1.無線傳感網絡節點模型2.覆蓋數學模型及分析3.法醫調查算法4.實驗參數設定5.算法結果6.參考…

力扣labuladong一刷day34天

力扣labuladong一刷day34天 文章目錄 力扣labuladong一刷day34天一、230. 二叉搜索樹中第K小的元素二、538. 把二叉搜索樹轉換為累加樹 一、230. 二叉搜索樹中第K小的元素 題目鏈接:https://leetcode.cn/problems/kth-smallest-element-in-a-bst/?utm_sourceLCUS&…

[C++] STL_priority_queue(優先級隊列) 的使用及底層的模擬實現,容器適配器,deque的原理介紹

文章目錄 1、priority_queue1.1 priority_queue的介紹和使用1.2 priority_queue的使用模擬實現: 2、容器適配器2.1 什么是適配器2.2 STL標準庫中stack和queue的底層結構 3、deque3.1 deque的原理介紹3.2 deque的缺陷 4、為什么選擇deque作為stack和queue的底層默認容…

docker配置連接harbor私有倉庫

一、前言 以下分為兩種情況說明docker對harbor私有倉庫的訪問配置,一種是harbor使用自建證書配置https,一種是使用公有證書配置https 二、docker配置 harbor使用自建證書的情況 使用自建證書對harbor進行https配置,docker會將該倉庫識別成不…

SDXL使用animateDiff和hotshot-xl進行文生視頻

截至2023.12.8號,目前市面上有兩款適用于SDXL的文生視頻開源工具,分別是AnimateDiff和hotshot-xl。 一、工具下載鏈接 (1)AnimateDiff的webui版本的git鏈接: GitHub - continue-revolution/sd-webui-animatediff: A…

pytest測試框架介紹(2)

繼續進步一點點,溫故而知新 一、requests 介紹 1、requests 的官方文檔:https://docs.python-requests.org/en/latest/ 2、安裝requests:pip install requests 二、requests請求 1、請求方法:post,get&#xff0c…

Postman獲取token

問題描述 登錄接口中帶有token參數,其他接口需要帶上token才能正確訪問,利用接口查詢用戶信息時手動在headers中更新token信息并不方便。 解決方案 在登錄接口中設置一個名為“token”的環境變量,value為登錄接口跑通之后responseBody中返回…

51單片機的獨立按鍵與矩陣按鍵的使用以及實例分析

IO 的使用–按鍵 本文主要涉及8051單片機的按鍵的使用,包括獨立按鍵與矩陣按鍵。 其中包括實例分析: 獨立按鍵 K1 控制 D1 指示燈亮滅通過數碼管顯示矩陣按鍵 S1-S16 按下后鍵值 0-F 文章目錄 IO 的使用--按鍵一、按鍵消抖二、獨立按鍵獨立按鍵 K1 控制 …

IAR嵌入式解決方案發布全新版本,增強云調試和仿真功能,推動下一代嵌入式軟件開發

通過先進的Arm虛擬硬件集成和Linux系統中增強的基于云的協作,賦能下一代嵌入式軟件開發 瑞典烏普薩拉,2023年12月7日 - 嵌入式開發軟件和服務的全球領導者IAR宣布推出旗艦產品IAR Embedded Workbench for Arm及IAR Build Tools for Arm最新9.50版本。此…

vue2+datav可視化數據大屏(3)

接上一節所說,當我們將接口封裝完了后,我們需要給大屏進行內容填充啦 1,新建組件 📓 我們在ser-views文件夾下新建9個vue組件,如下圖所示,我給編號為1到9 📓在組件里寫入內容我是第一塊...一次類推&#x…

AOSP開機動畫調測技術點(基于Android13)

AOSP開機動畫調測技術點(基于Android13) 開機動畫替換 首先,在你的計算機上創建一個名為"bootanimation"的文件夾,并將"part0"、"part1"和"desc.txt"這三個文件復制到該文件夾中。這些文件包含了開機動畫的圖像…

基于深度學習的超分辨率圖像技術一覽

超分辨率(Super-Resolution)即通過硬件或軟件的方法提高原有圖像的分辨率,圖像超分辨率是計算機視覺和圖像處理領域一個非常重要的研究問題,在醫療圖像分析、生物特征識別、視頻監控與安全等實際場景中有著廣泛的應用。 SR取得了顯著進步。一般可以將現有…

【知識分享】SpringBoot自定義bean

在Spring Boot中,可以使用注解和配置來定義自定義的Bean。以下是自定義Bean的詳細講解和代碼示例: 1.使用注解定義自定義Bean: 在你的自定義類上添加Component或其衍生注解(如Service、Repository等),將該…