国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)

這篇具有很好參考價值的文章主要介紹了HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. HTTP 是什么

HTTP 全稱 “ 超文本傳輸協(xié)議 ”,是一種基于傳輸層 TCP 協(xié)議實現(xiàn)的應用非常廣泛的 應用層協(xié)議

我們平時打開一個網(wǎng)站,就是通過 HTTP 協(xié)議來傳輸數(shù)據(jù)的

當我們在瀏覽器中訪問一個 “ 網(wǎng)址 ”(URL),瀏覽器就會給這個 URL 的服務器發(fā)送一個 HTTP 請求,服務器返回一個 HTTP 響應,這個響應被瀏覽器解析之后,就展現(xiàn)出我們看到的網(wǎng)頁內容

所謂 “ 超文本 ”,就是傳輸?shù)膬热莶粌H僅是文本,還可以是一些圖片、視頻、音頻等二進制的數(shù)據(jù)

HTTP 默認端口號:80

2. HTTP 請求報文和響應報文的格式

1)請求報文格式

  1. 請求首行:請求方法 + URL + HTTP協(xié)議版本
  2. 請求頭:請求報文的屬性,冒號分隔的鍵值對,每組屬性各占一行
  3. 空行
  4. 請求體:如果請求體存在,請求頭中會有一個 Content-Length 屬性來表示請求體的長度
    HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)

2)響應報文格式

  1. 響應首行:HTTP 協(xié)議版本 + 響應狀態(tài)碼 + 狀態(tài)碼解釋短句
  2. 響應頭:響應報文的屬性,冒號分隔的鍵值對,每組屬性各占一行
  3. 空行
  4. 響應體:如果響應體存在,響應頭中就會有一個 Content-Length 屬性來表示響應體長度,如果服務器返回一個 html 頁面,那么 html 頁面內容就出現(xiàn)在響應體中
    HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)

3)報文中空行的作用

因為 HTTP 協(xié)議沒有規(guī)定報文頭部的鍵值對有多少個,空行就相當于 “ 報頭的結束標志 ” 或者 “ 報頭和主體之間的分隔符 ”

3. HTTP 的長連接和短連接

在 HTTP/1.0 中,默認使用短連接,短連接就是,客戶端訪問的某個 HTML 網(wǎng)頁中包含其他 Web 資源,如 JS 文件、圖像文件、CSS 文件等,客戶端每遇到一個 Web 資源,就會建立一個 HTTP 連接,訪問結束就關閉連接

HTTP/1.1 開始,默認使用長連接,在使用長連接的情況下,客戶端和服務器用于傳輸數(shù)據(jù)的 TCP 連接在一定時間內不會關閉,如果客戶端再次訪問這個服務器上的網(wǎng)頁,會繼續(xù)使用這條已經(jīng)建立的連接。長連接的保持時間可以在不同服務器中進行指定,實現(xiàn)長連接要求客戶端和服務器都支持長連接

HTTP 的長連接和短連接,實質上是 TCP 的長連接和短連接

4. URL

平時我們俗稱的 “ 網(wǎng)址 ” 就是 URL(統(tǒng)一資源定位符)

互聯(lián)網(wǎng)上的每一個文件都有一個唯一的 URL,它包含的信息指出文件的位置以及瀏覽器怎么處理它

基本格式:

HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)

1)在瀏覽器中輸入 www.baidu.com 后執(zhí)行的全部過程

  1. 域名解析:將 www.baidu.com 解析成 IP 地址

    瀏覽器搜索自己的 DNS 緩存(維護一張域名和 IP 的映射表);若沒有,則搜索操作系統(tǒng)的 hosts 文件

    若都沒有,則去本地 DNS 服務器進行查詢,本地 DNS 服務器會查詢自己的 DNS 緩存,如果沒有,本地 DNS 服務器會向根域名服務器發(fā)起請求,來查詢域名所對應的 IP 地址,得到結果之后本地 DNS 服務器將結果返回給瀏覽器,同時緩存本次解析的 IP

  2. 發(fā)起 TCP 三次握手,建立 TCP 連接。瀏覽器會以一個隨機端口號(1024-65535)向服務器 web 程序的 80 端口發(fā)起 TCP 連接

  3. 建立 TCP 連接后,發(fā)起 HTTP 請求

  4. 服務器處理請求,對瀏覽器的請求進行響應,瀏覽器得到網(wǎng)頁的 html 文件和一些資源文件

  5. 瀏覽器解析 html 文件和資源文件,對頁面進行渲染并呈現(xiàn)出來

5. HTTP 常用的請求方法

方法 作用
GET 獲取資源
POST 傳輸實體主體
PUT 上傳文件
DELETE 刪除文件
HEAD 和 GET 類似,但只返回報文首部,不返回報文實體主體部分
OPTIONS 查詢指定的 URL 支持的方法
TRACE 服務器會將通信路徑返回給客戶端
CONNECT 要求用隧道協(xié)議連接代理
PATCH 對資源進行部分修改

6. GET 和 POST 的區(qū)別

  • GET 是從服務器上獲取數(shù)據(jù),POST 是向服務器傳送數(shù)據(jù)
  • GET 把參數(shù)包含在 URL 中,POST 的參數(shù)包含在請求體中,因此 POST 相較 GET 更安全些
  • GET 請求有長度限制,POST 沒有
  • GET 請求是冪等性的,POST 不是。冪等性指對同一個 URL 的多次請求應該返回同樣的結果

7. HTTP 常見的響應狀態(tài)碼

  • 200:服務器已成功處理了請求。
  • 301:請求的網(wǎng)頁已被永久重定向網(wǎng)頁,服務器響應此狀態(tài)碼時,會自動將請求者轉到新位置
  • 302:請求的網(wǎng)頁被臨時重定向到其他網(wǎng)頁
  • 400:客戶端請求有語法錯誤,不能被服務器所理解
  • 403:服務器收到請求,但拒絕提供服務,有的頁面需要一定權限才能訪問,就可能會出現(xiàn) 403
  • 404:服務器未找到請求的頁面
  • 405:使用了服務器不允許的請求方法
  • 500:服務器內部遇到錯誤,無法完成請求
  • 504:服務器負載過大,在處理請求時消耗的時間就會很長,就可能導致出現(xiàn)超時的情況

8. HTTPS 是什么

HTTPS 也是一個應用層協(xié)議,是在 HTTP 協(xié)議的基礎上引入了一個加密層

HTTPS 協(xié)議運行在 SSL 協(xié)議之上,SSL 協(xié)議運行在 TCP 協(xié)議之上

HTTP 協(xié)議內容都是按照文本的方式明文傳輸?shù)模@就可能會導致傳輸過程中出現(xiàn)被篡改的情況

在互聯(lián)網(wǎng)上,明文傳輸是比較危險的事情

HTTPS 就是在 HTTP 的基礎上進行了加密,進一步保證用戶的信息安全

HTTPS 默認端口號:443

1)SSL 協(xié)議

SSL 協(xié)議是一種用于保證互聯(lián)網(wǎng)通信中數(shù)據(jù)安全的標準技術,SSL 協(xié)議使用公鑰、私鑰、和對稱密鑰來加密和解密數(shù)據(jù),還會使用證書來驗證服務器和客戶端的身份

9. HTTPS 怎么進行 “加密”

加密就是把明文(要傳輸?shù)男畔ⅲ┻M行一系列變換,生成密文,在互聯(lián)網(wǎng)上傳輸時,以密文的形式傳輸,在到達接收方時,接收方再進行一系列變換,將密文轉換成明文

在加密解密的過程中,都會有一個被稱為 “密鑰” 的中間數(shù)據(jù)來輔助進行解密或解密

加密的方式有很多,但整體上分為兩大類:對稱加密非對稱加密

1)對稱加密

對稱加密其實就是信息的發(fā)送方和接收方使用同一個密鑰對密文進行加密和解密。

但是在一開始發(fā)送方和接收方是不知道這個密鑰的,所以發(fā)送信息之前還需要先傳輸密鑰,但是如果密鑰在傳輸過程中被截獲,那么后續(xù)的密文傳輸就與明文傳輸就沒什么區(qū)別了

因此就需要引入 非對稱加密 先對對稱密鑰進行加密傳輸

2)非對稱加密

非對稱加密要用到兩個密鑰,一個叫做 “公鑰”,一個叫做 “私鑰”

  • 通過公鑰對明文加密,變成密文
  • 通過私鑰對密文解密,變成明文

也可以反著用

  • 通過私鑰對明文加密,變成密文
  • 通過公鑰對密文解密,變成明文

引入非對稱加密之后

  • 客戶端在 本地生成對稱密鑰,通過 公鑰加密,發(fā)送給服務器
  • 由于中間的其他網(wǎng)絡設備沒有私鑰,即使截獲了數(shù)據(jù),也無法還原出內部的對稱密鑰
  • 服務器通過 私鑰解密,還原出客戶端發(fā)送的對稱密鑰,并且使用這個對稱密鑰加密對客戶端進行響應
  • 后續(xù)服務器和客戶端的通信只需要用到對稱密鑰即可

對稱加密的效率比非對稱加密的效率高很多,所以只是在開始傳輸對稱密鑰時使用非對稱加密,后續(xù)的傳輸使用對稱加密

但是還存在一些問題

  • 客戶端怎么獲取公鑰
  • 怎么確定這個公鑰不是偽造的

這就需要引入 CA 證書

3)CA 證書

CA 證書是在非對稱加密傳輸對稱密鑰時使用的,客戶端和服務器交換對稱密鑰時,使用非對稱加密對對稱密鑰進行加密,非對稱加密中的公鑰就是由 CA 證書提供的,CA 證書在使用之前客戶端會對其進行合法性校驗,確保 CA 證書不是偽造的

CA 證書中包含的信息:

  • 公鑰
  • 證書持有者的域名等信息
  • 證書認證機構的信息
  • 數(shù)字簽名以及使用的算法
  • 證書有效期

為了讓服務器的公鑰被客戶端信任,服務器的證書都是由 CA(證書認證機構)簽名的,CA 在網(wǎng)絡中相當于公安局,具有極高的可信度,所以由它來給證書簽名,證書必然是被信任的

CA 對證書簽名的過程:

  • 首先 CA 會把證書持有者的公鑰、證書認證機構、證書有效期、持有者的域名等信息進行整合,對這些信息使用特定的 Hash 算法計算 Hash 值
  • 然后 CA 會使用自己的私鑰對 Hash 值進行加密,作為證書的簽名

客戶端對證書驗證的過程:

  • 客戶端在得到證書之后會使用相同的 Hash 算法獲取證書的 Hash 值
  • 通??蛻舳酥卸紩?CA 的公鑰,客戶端可以使用 CA 的公鑰對簽名進行解密,得到一個 Hash 值
  • 對比兩次結果的 Hash 值,如果值相同,則為可以信賴的證書

4)HTTPS 加密的完整流程

HTTPS 的加密過程大致可以分為三個階段:

  • 第一階段(非對稱加密):對證書進行合法性驗證,客戶端內置 CA 的公鑰,服務器在申請證書時同時獲取 CA 的私鑰和自己的公鑰私鑰
  • 第二階段(非對稱加密):對對稱密鑰進行密文傳輸,客戶端使用證書中服務器的公鑰對隨機生成的對稱密鑰進行加密傳輸,服務器使用自己的私鑰進行解密,得到對稱密鑰
  • 第三階段(對稱加密):客戶端與服務端在互通對稱密鑰之后,使用對稱加密傳輸數(shù)據(jù)

HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)

10. HTTPS 的優(yōu)缺點

優(yōu)點:

  • 安全性:

    HTTPS 在數(shù)據(jù)傳輸過程中保證絕對的密文傳輸,可以防止數(shù)據(jù)在傳輸過程中被竊取或改變,保證數(shù)據(jù)的完整性

缺點:

  • 在相同的網(wǎng)絡環(huán)境下,HTTPS 比 HTTP 的響應時間更長
  • HTTPS 的安全是有范圍的,在服務器被劫持等情況下幾乎起不到作用
  • HTTPS 需要更多的服務器資源,會導致成本升高

11. HTTPS 和 HTTP 的區(qū)別

HTTP HTTPS
端口 80 443
安全性 無加密,安全性較差 有加密機制,安全性較高
資源消耗 較少 由于需要加密處理,需要消耗更多資源
是否需要證書 不需要 需要
協(xié)議 運行在 TCP 協(xié)議之上 運行在 SSL 協(xié)議之上,SSL 運行在TCP 協(xié)議之上

12. Cookie 和 Session

1)什么是 Cookie

Cookie 是服務器發(fā)送給客戶端并保存到本地的一小塊數(shù)據(jù),它會在客戶端下一次向同一個服務器發(fā)起請求時被攜帶并發(fā)送到服務器上。用于告知服務器兩次請求來自同一個客戶端,從而在本次請求中響應之前的訪問狀態(tài)

Cookie 的應用:

  • 記錄會話的狀態(tài):如用戶的登錄狀態(tài)
  • 記錄個性化設置:如用戶自定義的設置、主題等

2)什么是 Session

Session 代表著服務器和客戶端一次會話的過程,Session 中保存著用戶會話所需的屬性和配置信息,當用戶在應用程序的各個網(wǎng)頁之間跳轉時,存儲在 Session 對象中的屬性和配置信息不會丟失,而是在整個會話中一直存在下去。

3)Cookie 和 Session 的區(qū)別

  • Cookie 保存在客戶端,Session 保存在服務端
  • Cookie 可以設置長時間保存,Session 一般在客戶端關閉之后就會失效
  • Cookie 相對不安全,容易被竊取和偽造,Session 相對安全,因為 Session 數(shù)據(jù)保存在服務端,客戶端無法直接訪問
  • Cookie 有大小限制,一般單個 Cookie 不能超過 4 KB,Session 沒有限制

4)Cookie 和 Session 如何配合工作

  • 客戶端在首次訪問服務器時,服務器會根據(jù)用戶狀態(tài)信息生成對應的 Session 對象,將唯一的 SessionID 發(fā)送給客戶端
  • 客戶端在收到 SessionID 之后,會創(chuàng)建 Cookie 對象,將 SessionID 放入 Cookie 對象,并且在 Cookie 中記錄 此 SessionID 屬于哪個域名
  • 在之后訪問同一個域名時,客戶端在發(fā)起請求時會將 Cookie 一并發(fā)送給服務器
  • 服務器會根據(jù)得到的 Cookie 得到 SessionID,再通過 SessionID 查找對應的 Session,如果沒找到就說明用戶未登錄或 Session 已經(jīng)過期,需要重新登錄或者創(chuàng)建 Session
  • 如果找到了就說明用戶已經(jīng)登錄,服務器就會根據(jù) Session 中對應的用戶信息對網(wǎng)頁進行處理,再將處理后的頁面響應給客戶端

HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)文章來源地址http://www.zghlxwxcb.cn/news/detail-417894.html

到了這里,關于HTTP 和 HTTPS(請求響應報文格式 + 請求方法 + 響應狀態(tài)碼 + HTTPS 加密流程 + Cookie 和 Session)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Nodejs基礎6之HTTP模塊的獲取請求行和請求頭、獲取請求體、獲取請求路徑和查詢字符串、http請求練習、設置HTTP響應報文、http響應練習

    Nodejs基礎6之HTTP模塊的獲取請求行和請求頭、獲取請求體、獲取請求路徑和查詢字符串、http請求練習、設置HTTP響應報文、http響應練習

    含義 語法 重點掌握 請求方法 request.method * 請求版本 request.httpVersion 請求路徑 request.url * URL 路徑 require(‘url’).parse(request.url).pathname * URL 查詢字符串 require(‘url’).parse(request.url, true).query * 請求頭 request.headers * 請求體 request.on(‘data’, function(chunk){}),request.on(‘end’, functio

    2024年02月20日
    瀏覽(23)
  • http和https的請求與響應

    http和https的請求與響應

    HTTP協(xié)議 (HyperText Transfer Protocol,超文本傳輸協(xié)議):是一種發(fā)布和接收 HTML頁面的方法。 HTTPS (Hypertext Transfer Protocol over Secure Socket Layer)簡單講是HTTP的安全版,在HTTP下加入SSL層。 SSL (Secure Sockets Layer 安全套接層)主要用于Web的安全傳輸協(xié)議,在傳輸層對網(wǎng)絡連接進行加密

    2024年02月03日
    瀏覽(19)
  • HTTP請求響應詳解 (HTTP請求數(shù)據(jù)格式,常見請求方式,后端響應參數(shù))及Apifox(postman)使用方式

    HTTP請求響應詳解 (HTTP請求數(shù)據(jù)格式,常見請求方式,后端響應參數(shù))及Apifox(postman)使用方式

    目錄 一.HTTP協(xié)議? 二.HTTP請求數(shù)據(jù)格式? 請求方式 三.后端響應請求 基于SpringBoot響應數(shù)據(jù) 請求響應的參數(shù)類型 同一響應格式 四.Apifox(postman)使用方法 HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)是一種用于傳輸超媒體文檔(如HTML)的應用層協(xié)議。 HTTP的特點和工作原理如下

    2024年03月09日
    瀏覽(30)
  • http請求和響應(包含狀態(tài)碼)+過濾器

    http請求和響應(包含狀態(tài)碼)+過濾器

    目錄 一、http協(xié)議概述 二、http請求 三、http響應 ?四、過濾器 一、http協(xié)議概述 1.http: 超文本傳輸協(xié)議 ,是用于在網(wǎng)絡上傳輸數(shù)據(jù)的應用層協(xié)議。是互聯(lián)網(wǎng)上應用最為流行的一種網(wǎng)絡協(xié)議,用于定義客戶端瀏覽器和服務器之間交換數(shù)據(jù)的過程,基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù),

    2024年02月06日
    瀏覽(26)
  • 網(wǎng)絡爬蟲——HTTP和HTTPS的請求與響應原理

    網(wǎng)絡爬蟲——HTTP和HTTPS的請求與響應原理

    目錄 一、HTTP的請求與響應 二、瀏覽器發(fā)送HTTP請求的過程 三、HTTP請求方法 四、查看網(wǎng)頁請求 五、常用的請求報頭 六、服務端HTTP響應 七、常用的響應報頭 八、Cookie 和 Session 九、響應狀態(tài)碼 十、網(wǎng)頁的兩種加載方法 十一、認識網(wǎng)頁源碼的構成 十二、爬蟲協(xié)議 在如今這個

    2024年02月08日
    瀏覽(39)
  • 網(wǎng)絡爬蟲-----http和https的請求與響應原理

    網(wǎng)絡爬蟲-----http和https的請求與響應原理

    ? 目錄 前言 簡介 HTTP的請求與響應 瀏覽器發(fā)送HTTP請求的過程: HTTP請求主要分為Get和Post兩種方法 查看網(wǎng)頁請求 常用的請求報頭 1. Host (主機和端口號) 2. Connection (鏈接類型) 3. Upgrade-Insecure-Requests (升級為HTTPS請求) 4. User-Agent (瀏覽器名稱) 5. Accept (傳輸文件類型) 舉例: 6. Ref

    2024年02月07日
    瀏覽(29)
  • http請求和響應格式說明,http的get和post請求方式說明,http的請求體body的幾種數(shù)據(jù)格式

    http請求和響應格式說明,http的get和post請求方式說明,http的請求體body的幾種數(shù)據(jù)格式

    一個HTTP請求報文由 請求行(request line)、請求頭部(header)、空行和請求數(shù)據(jù) 4個部分組成, 請求報文的一般格式 1、第一行必須是一個請求行(request-line),用來說明請求類型,要訪問的資源以及所使用的HTTP版本 2、緊接著是一個請求頭(header),用來說明服務器要使用的附加信息

    2024年02月02日
    瀏覽(30)
  • HTTP介紹 原理 消息結構 客戶端請求 服務器響應 HTTP狀態(tài)碼

    HTTP介紹 原理 消息結構 客戶端請求 服務器響應 HTTP狀態(tài)碼

    HTTP協(xié)議 是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于萬維網(wǎng)(www.world wide web)服務器傳輸超文本到本地瀏覽器的傳送協(xié)議 HTTP 是基于TCP/IP(三次握手,四次揮手)通信協(xié)議來傳輸數(shù)據(jù)(HTML文件,圖片文件,查詢結果等) TCP:可靠的,丟包重傳 UTP:不可靠的,直播,

    2024年02月05日
    瀏覽(28)
  • HTTP響應狀態(tài)碼大全:從100到511,全面解析HTTP請求的各種情況

    HTTP響應狀態(tài)碼大全:從100到511,全面解析HTTP請求的各種情況

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月12日
    瀏覽(30)
  • 【Java EE】-HTTP請求構造以及HTTPS的加密流程

    【Java EE】-HTTP請求構造以及HTTPS的加密流程

    作者 :學Java的冬瓜 博客主頁 :?冬瓜的主頁?? 專欄 :【JavaEE】 分享 : 在滿園彌漫的沉靜的光芒之前,一個人更容易看到時間,并看到自己的身影?!疯F生《我與地壇》 主要內容 :構造http請求,不需要寫代碼直接發(fā)送http請求:地址欄輸入地址,html中 img標簽,scri

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包