在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HTTP和HTTPS的關鍵區別

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2025-03-25 15:34 ? 次閱讀

一、HTTP 和 HTTPS 介紹

HTTP(HyperText Transfer Protocol)是一種無狀態的通信協議,通常用于在客戶端(例如瀏覽器)和服務器之間傳輸超文本(如 HTML 頁面)。但這僅僅是一個單向通信協議,數據傳輸過程中并未加密,所以它比較容易被中間人攻擊。無狀態,即不能保存每次提交的信息,如果用戶發來一個新的請求,服務器無法知道它是否與上次請求有關聯。

a3d2aea6-0718-11f0-9310-92fbcf53809c.png

HTTPS(HyperText Transfer Protocol Secure),則是在 HTTP 的基礎上增加了加密層,使用 SSL/TLS 協議來保護數據的傳輸。可以理解為 HTTP 的“高級版”,帶有加密的護航,讓數據在傳輸過程中更安全。

特性 HTTP HTTPS
安全性 無加密,易受攻擊 加密傳輸,安全性高
端口 默認端口為 80 默認端口為 443
性能 較快(沒有加密負擔) 較慢(加密解密有一定開銷)
證書 不需要證書 需要 SSL/TLS 證書
瀏覽器表現 沒有“安全”標記 顯示鎖形標志,用戶感到安全

二、互聯網消息如何傳遞

在互聯網中,信息傳遞就像是一場復雜的郵遞過程,消息需要通過一系列的“郵局”(即路由器),逐步從發送方傳遞到接收方。為了讓這個過程更具邏輯性,我們可以將其比作寄送包裹的過程。

1、互聯網通信的路徑

1.訪問某個網站

訪問網站www.example.com。這個網址在互聯網上并不是唯一的地址,它只是一個更易于記憶的字符串。真正定位到網站的地址,必須通過它的 IP 地址。這就好比你想找一個朋友的住址,但只知道他的名字,你需要通過電話簿(類似 DNS 解析)來查找他具體的住址(IP 地址)。

2.瀏覽器發送請求

在瀏覽器中輸入網址后,瀏覽器會發起一個請求,這個請求會包含想要訪問的信息。例如,HTTP 請求頭中可能包含要訪問的頁面路徑、瀏覽器類型、語言等信息。就像向郵局遞交一個包裹,包裹里帶著想要發送的內容(即請求信息)。

3.DNS 解析

由于 IP 地址很不好記憶,所以 DNS(域名系統)起到了將易記的域名(如www.example.com)轉換為計算機能夠理解的 IP 地址(如 192.168.1.1)的作用。這是通過向 DNS 服務器查詢來實現的。

4.路由器的作用

拿到正確的 IP 地址后,消息會通過一系列路由器(路由器就像郵遞員一樣,負責在各個“郵局”之間傳遞包裹)逐步轉發到目標服務器。每個路由器根據接收到的包裹信息,決定將包裹轉發給哪個下一個路由器或最終目標。這些路由器會通過 MAC 地址來標識彼此,就像每個郵局都有一個地址和“郵遞員”一樣。

a3f14140-0718-11f0-9310-92fbcf53809c.png

在這個過程中,MAC 地址是每臺網絡設備(如路由器、計算機等)唯一標識的地址。MAC 地址常常在局域網內起作用,而在互聯網上,數據包會依賴 IP 地址進行轉發。

a400f37e-0718-11f0-9310-92fbcf53809c.png

例如,當你的包裹從一個路由器(網絡節點)到達下一個節點時,包裹的 "收件人地址"(即 MAC 地址)會發生變化,每經過一個路由器,包裹的封面上的 “地址” 會更新為當前路由器的 MAC 地址,直到最終到達目標服務器。

a429f63e-0718-11f0-9310-92fbcf53809c.png

5.目標服務器響應請求

當數據包最終到達目標服務器時,服務器會處理你的請求(例如返回一個網頁、圖片或文件)。服務器根據請求的信息,選擇正確的數據進行返回。就像郵局在接收到包裹后,將其交給收件人。

a43d1b56-0718-11f0-9310-92fbcf53809c.png

6.響應回傳

一旦目標服務器生成了響應,它會通過與請求時相同的路徑,逆向發送回給瀏覽器。由于路由器和中間設備的作用,數據包在路由過程中仍然會更新其 MAC 地址和其它信息,但最終會正確到達瀏覽器,呈現出網頁內容。

2、IP 地址和 MAC 地址的作用

1.IP 地址

是每個網絡主機的唯一地址,主要用于尋址,讓數據包能夠找到目的地。你可以把 IP 地址看作“郵寄地址”,幫助路由器知道數據應該發往哪里。

2.MAC 地址

是硬件設備(如網卡)的一種物理地址,它在局域網內用于設備間的通信。可以理解為設備的“身份證”,每個設備都有一個獨特的 MAC 地址。

3.DNS 解析

人們使用域名而不是 IP 地址,主要是因為域名更容易記憶。但計算機只能通過 IP 地址找到目標服務器,因此需要使用 DNS(域名解析系統)將域名轉換成 IP 地址。

三、端口號

網卡中具有許多和網絡通信的軟件,數據幀到達網卡后,根據端口號來區別不同的軟件或進程,端口后是用來確定數據目的程序的

服務類型 默認端口號
HTTP 80
HTTPS 443
FTP 21
MySQL 3306
SSH 22

四、HTTP協議

HTTP(Hypertext Transfer Protocol),即超文本傳輸協議,是一種無狀態的請求-響應協議,用于客戶端(通常是瀏覽器)和服務器之間的通信。它是互聯網中最基礎、最常用的協議之一。HTTP 協議在實現網頁瀏覽時起著核心作用,它是瀏覽器和服務器之間交換數據的語言。

1、什么是超文本

“超文本”指的是網頁上的內容,通常以 HTML(Hypertext Markup Language)格式呈現。HTML 是用來描述網頁結構的標記語言,因此,HTTP 協議常常被用于傳輸 HTML 文件,當然它也傳輸其他格式的文件,如圖片、視頻、JSON 數據等。

2、HTTP請求和響應

HTTP 協議通過請求(Request)和響應(Response)進行數據交換。客戶端向服務器發送請求,服務器處理請求后返回響應。

1.HTTP請求

客戶端(如瀏覽器)向服務器發起請求。通常情況下,客戶端不會主動向服務器發起請求,而是由用戶觸發的操作(例如點擊鏈接、提交表單等)來生成請求。每個 HTTP 請求都由三個主要部分組成:

請求的組成

(1)請求行(Request Line):

請求方法(GET、POST、PUT、DELETE 等)

請求目標(例如/index.html)

HTTP 版本(例如HTTP/1.1)

(2)請求頭(Request Header):

請求頭包含了客戶端的相關信息。常見的請求頭如下:

Accept-Encoding:指定客戶端能夠接受的編碼方式,例如 gzip, deflate,用來壓縮響應內容。

Host:指定服務器的主機名,通常是網站的域名(如www.baidu.com)。

User-Agent:指定發起請求的瀏覽器類型,例如 Mozilla/5.0。

Cookie:客戶端保存的 Cookie 信息,用于跟蹤用戶狀態。

(3)請求正文(Request Body):

請求正文包含實際請求的數據,通常用于 POST 或 PUT 請求,用于發送表單數據或文件。GET 請求一般沒有請求正文。



GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate, br

這段請求的含義是:客戶端通過 GET 方法請求服務器上的/index.html 頁面,使用 HTTP/1.1 協議,且告訴服務器瀏覽器類型是 Mozilla/5.0,支持 gzip, deflate, br 等壓縮方式。

請求方式

GET:用于請求指定的資源,數據通過 URL 參數傳遞。適用于查詢數據。

POST:用于向服務器提交數據。適用于提交表單、文件上傳等操作。

PUT:用于更新指定資源,通常帶有請求正文。

DELETE:用于刪除指定資源。

GET請求

通過URL傳遞參數,URL與參數之間用?隔開,多個參數用&隔開,也是表單的默認提交方式

GET傳送的數據量較小,主要是因為收到URL長度的限制

GET會將數據顯示到URL當中,不安全

GET請求一般用于直接獲取數據,提高查詢速度。

GET是無副作用的,因此可以被緩存、書簽和分享

POST請求

POST的數據在請求主體內,所以相對比較安全,但不是絕對安全

POST對上傳數據的大小無限制,POST請求可以做文件的上傳和下載。POST適用于增刪改操作

2.HTTP響應

服務器接收到客戶端的請求后,會根據請求的內容返回一個響應。HTTP 響應通常包含以下幾個部分:

響應組成

(1)響應狀態行(Response Status Line):

HTTP 版本(如HTTP/1.1)

狀態碼(例如200 OK、404 Not Found、500 Internal Server Error等)

狀態描述(簡短的文字描述)

(2)響應頭(Response Header):

響應頭包含了服務器和返回數據的一些元數據:

Content-Type:指定響應數據的類型,如 text/html, application/json。

Content-Length:響應內容的長度。

Set-Cookie:服務器設置的 Cookie,用于客戶端保存狀態。

(3)響應正文(Response Body):

響應正文包含實際的響應數據,例如 HTML 文件、JSON 數據或圖片等內容。

響應狀態碼

200 OK:請求成功,服務器成功返回數據。

400 Bad Request:請求有語法錯誤,服務器無法理解。

404 Not Found:請求的資源不存在。

405 Method Not Allowed:請求方法不被服務器支持。

500 Internal Server Error:服務器內部錯誤,無法處理請求。

502 Bad Gateway:服務器作為網關或代理,從上游服務器收到無效響應。



HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
 

  
    

Welcome to Example!

在這個響應中,服務器告訴客戶端,/index.html 頁面已成功返回,并且響應的內容為 HTML 格式,長度為 1234 字節,包含了網頁的內容。

五、HTTPS

為了解決 HTTP 協議的安全問題,引入了 HTTPS(安全超文本傳輸協議)。HTTPS 在 HTTP 的基礎上加入了加密層,利用 SSL(安全套接字層)或 TLS(傳輸層安全協議)對數據進行加密。通過 HTTPS 協議,數據在傳輸過程中會被加密,這不僅保證了數據的機密性(防止數據被竊取),還確保了數據的完整性(防止數據在傳輸過程中被篡改)。

1、HTTPS的加密方式

1.對稱加密

產生秘鑰,加密解密使用同一個秘鑰。對稱加密速度快,但秘鑰的安全性較低,若秘鑰在傳輸過程中被竊取,攻擊者就能輕易解密數據。

2.非對稱加密

產生公鑰和私鑰,公鑰加密的數據需要私鑰解密,私鑰加密的數據需要公鑰解密。處理速度相對較慢,但是安全性較高。

2、HTTPS的加密過程

1.握手階段:

客戶端與服務器之間首先進行一系列的加密握手。客戶端請求服務器時,服務器會返回一個數字證書,證書包含了公鑰和服務器的身份信息。客戶端通過驗證證書的合法性來確認服務器的身份是否可信。

2.密鑰交換:

在握手階段,客戶端和服務器會使用非對稱加密來交換密鑰。客戶端用服務器的公鑰加密生成的“會話秘鑰”(對稱秘鑰),然后將加密后的會話秘鑰發送給服務器。服務器用自己的私鑰解密出會話秘鑰。這樣,客戶端和服務器就建立了一個加密的通信通道,并可以使用會話秘鑰進行后續的數據加密和解密。

3.數據加密傳輸階段:

在后續的數據傳輸過程中,客戶端和服務器會使用共享的對稱秘鑰進行加密與解密操作。由于對稱加密的效率高,數據傳輸速度較快。

a45fe5d2-0718-11f0-9310-92fbcf53809c.png

3、數字證書

為了防止第三方攻擊者偽裝成服務器進行釣魚攻擊,HTTPS 使用數字證書來驗證服務器的身份。數字證書就像是一個網站的“身份證”,它由認證機構(CA)頒發,包含了服務器的公鑰和身份信息。

證書組成

證書的持有者信息(如公司名稱、網站域名等)

公鑰

證書頒發機構(CA)的信息

證書的有效期

數字簽名(確保證書的完整性,防止篡改

認證機構(CA)是經過各國政府認可的權威機構,它們負責簽發和驗證證書的合法性。客戶端在訪問 HTTPS 網站時,瀏覽器會驗證證書的有效性,確保該證書由受信任的 CA 簽發并且沒有過期。

證書驗證過程

當客戶端訪問 HTTPS 網站時,首先會收到服務器發送的數字證書。客戶端會檢查證書的有效性,向證書的發布機構(CA)確認證書是否合法。如果證書有效,客戶端會提取公鑰來加密生成的會話秘鑰,并將加密后的秘鑰發送給服務器。

六、Cookie和Session

1、Cookie

Cookie 是存儲在客戶端瀏覽器中的小文件,用于保存用戶的狀態信息。由于 HTTP 協議是無狀態的,即每次請求都無法自動攜帶上次的狀態信息,因此需要借助 Cookie 來維護狀態。

1.Cookie特點

存儲在客戶端,容易被篡改或盜用。

可以設置過期時間。

每次請求都會隨請求頭一起發送,可能會影響請求性能。

2、Session

Session 是在服務器端保存的用戶會話信息,每個客戶端在訪問服務器時,服務器會分配一個唯一的 session ID。這個 ID 通常存儲在客戶端的 Cookie 中,當客戶端再次請求時,瀏覽器會自動帶上這個 session ID,服務器通過 session ID 找到對應的會話信息。

1.Session特點

存儲在服務器端,相對更加安全。

需要借助客戶端的 Cookie 來維持會話。

不會暴露在客戶端,防止被篡改。

3、Cookie和Session對比

特性 Cookie Session
存儲位置 存儲在客戶端瀏覽器中 存儲在服務器端
安全性 相對不安全,容易被篡改或盜用 較為安全,數據存儲在服務器端,客戶端只有 Session ID
容量 通常每個 Cookie 大小為 4KB 受服務器資源限制,一般較大
生命周期 可以設置過期時間,過期后自動刪除 會話結束或瀏覽器關閉時,Session 會話數據丟失
存儲內容 可以存儲少量信息(如用戶偏好、登錄信息等) 通常存儲較為重要的用戶信息,如用戶身份、購物車等
數據傳輸 每次請求都會隨著請求頭一起發送給服務器 每次請求時只會發送 Session ID(通常存儲在 Cookie 中)
性能 每次請求發送 Cookie 可能會增加網絡負擔 性能較好,只傳輸 Session ID,數據存儲在服務器端
跨域問題 不能跨域使用,不同域名下的 Cookie 無法共享 跨域時需要特別處理(如通過共享 Session ID)
存儲大小限制 每個域名最多存儲 20 個 Cookie,每個 Cookie 4KB 沒有硬性大小限制,但受服務器內存限制
常見用途 用戶偏好、用戶登錄狀態、跟蹤用戶行為等 用戶會話管理、驗證用戶身份等

七、總結HTTP和HTTPS

特性 HTTP HTTPS
全稱 超文本傳輸協議(Hypertext Transfer Protocol) 安全超文本傳輸協議(Hypertext Transfer Protocol Secure)
協議類型 無加密協議 加密協議
安全性 不安全,數據以明文傳輸,容易受到中間人攻擊 安全,數據通過加密傳輸,防止數據被竊取或篡改
加密方式 無加密,數據傳輸過程中沒有保護 使用 SSL/TLS 協議對數據進行加密
端口號 使用 80 端口 使用 443 端口
驗證身份 不提供身份驗證 提供身份驗證,通過數字證書確保服務器的身份
數據完整性 數據傳輸過程中容易被篡改 數據在傳輸過程中使用加密,保證完整性,防止篡改
性能 性能較高,因為沒有加密解密過程 性能稍低,因為需要加密解密,但使用的加密算法對比一般不影響正常使用
數據傳輸方式 明文傳輸數據 加密傳輸數據
適用場景 適用于無需保密的內容,如公共信息、非敏感數據 適用于需要保密和安全傳輸的內容,如登錄信息、支付信息等
瀏覽器顯示 URL 以http://開頭 URL 以https://開頭,并通常帶有鎖形圖標,表示安全
數字證書 無需數字證書 需要通過 CA 認證機構頒發的數字證書驗證服務器身份
受信任 無法驗證網站的真實身份,容易被釣魚網站偽造 提供可信的身份驗證,確保用戶訪問的是合法網站

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信協議
    +關注

    關注

    28

    文章

    970

    瀏覽量

    40816
  • 網絡安全
    +關注

    關注

    11

    文章

    3260

    瀏覽量

    60951
  • HTTP
    +關注

    關注

    0

    文章

    515

    瀏覽量

    32236
  • https
    +關注

    關注

    0

    文章

    54

    瀏覽量

    6441

原文標題:HTTP vs HTTPS: 揭秘網絡安全的關鍵差異,你不會還不知道吧?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是Http協議?

    區別****11、HttpHttps優缺點?****12、Http優化****13、Http協議有那些特征?**
    發表于 12-22 06:27

    http和tcp/ip、http https之間的關系和區別

    http和tcp/ip、httphttps之間的關系和區別
    的頭像 發表于 01-10 14:30 ?7757次閱讀

    一文讀懂HttpHttps區別

    http請求存在著一個很嚴重的問題,http協議傳輸的是明文,如果中間有個黑客攔截到該請求,就攔截到了我們的數據,就能將我們的用戶名和密碼看得一清二楚,這樣隱私的數據就非常容易泄露出去。
    發表于 05-17 11:19 ?2305次閱讀
    一文讀懂<b class='flag-5'>Http</b>和<b class='flag-5'>Https</b>的<b class='flag-5'>區別</b>

    Linux Kernel將HTTP鏈接切換到 HTTPS

    更改方式并不是手動尋找內核樹中的 HTTP 鏈接,而是很大程度上通過腳本自動完成,這些腳本通過查找 SVG 等文檔中是否存在 HTTP 鏈接,隨后檢查目標 URL 的服務器是否提供了相對應的 HTTPS 鏈接
    的頭像 發表于 08-14 16:20 ?1968次閱讀
    Linux Kernel將<b class='flag-5'>HTTP</b>鏈接切換到 <b class='flag-5'>HTTPS</b>

    探討HTTP為什么要升級 HTTPS協議

    之前說了 HTTP 協議的各種問題,但是它還是陪伴著互聯網、陪伴著我們走過了將近二十年的風風雨雨。現在有很多新的協議嘗試去取代它,來解決性能、效率等問題,但它還還能靠著多年的情分活的滋潤。然而
    的頭像 發表于 10-22 15:31 ?3699次閱讀
    探討<b class='flag-5'>HTTP</b>為什么要升級 <b class='flag-5'>HTTPS</b>協議

    網站的HTPP與HTTPS區別在哪?

    當用戶打開淘寶、百度、知乎等各大平臺時,網址前面會出現一個https://,將它修改為http://時,網址可以正常打開,并且自動加上了一個“s”。而當我們訪問一些個人博客時,網址前面則顯示http://,將
    的頭像 發表于 02-08 15:56 ?6101次閱讀

    HTTP是什么,HTTPS的優點是什么

    竊取和篡改。 HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因
    的頭像 發表于 05-10 09:55 ?2249次閱讀

    httphttps有什么區別,為什么https會取代http

    大家都知道當前https的使用更為普遍,為什么https會取代http,其中的原因恒訊科技為大家整理在本文,共有11點希望可以幫助大家更了解網站數據安全。 1、傳輸方式 http使用的
    的頭像 發表于 05-11 16:02 ?2354次閱讀

    httphttps區別,為什么https會取代http

    大家都知道當前https的使用更為普遍,為什么https會取代http,其中的原因恒訊科技為大家整理在本文,共有11點希望可以幫助大家更了解網站數據安全。
    的頭像 發表于 09-14 13:26 ?1856次閱讀

    HTTPS如何保證數據安全?

    雖然現在許多網站都會用到HTTPHTTPS,但是大家極力倡導使用的卻是更為安全的HTTPS,今天我們就來了解一下HTTPS是如何保證數據傳輸的安全性的。
    的頭像 發表于 10-28 09:47 ?1035次閱讀

    HTTPHTTPS區別 HTTP協議請求類型

    HTTP協議在傳輸過程中數據都是明文狀態,安全性較差。HTTPS協議使用SSL/TLS協議進行數據傳輸,保證了數據傳輸的安全性,可以防止敏感信息被竊取和篡改。
    的頭像 發表于 06-26 17:44 ?1220次閱讀

    什么是HTTP?什么是HTTPSHTTPHTTPS區別在哪?

    每天都在上網,在搜索東西的時候,你有發現網址有什么不同嗎?本文就來談談HTTPHTTPS有什么不同。
    的頭像 發表于 08-27 09:15 ?5338次閱讀
    什么是<b class='flag-5'>HTTP</b>?什么是<b class='flag-5'>HTTPS</b>?<b class='flag-5'>HTTP</b>與<b class='flag-5'>HTTPS</b>的<b class='flag-5'>區別</b>在哪?

    httphttps區別

    行包括:協議及版本、狀態碼、狀態碼解釋 1.2 httphttps區別 http:由于http是明文傳輸,所以其安全性低,易受攻擊,無法
    的頭像 發表于 11-10 16:42 ?2658次閱讀
    <b class='flag-5'>http</b>和<b class='flag-5'>https</b>的<b class='flag-5'>區別</b>

    HTTPHTTPS區別

    在互聯網時代,數據傳輸安全變得越來越重要。HTTPHTTPS 是兩種廣泛使用的網絡協議,它們在數據傳輸方面扮演著關鍵角色。盡管它們的名字相似,但它們在安全性和用途上有著顯著的區別
    的頭像 發表于 12-30 09:19 ?705次閱讀

    HTTP 1.1 和 HTTP 2.0 的區別

    2015年正式成為互聯網標準。以下是HTTP/1.1和HTTP/2之間的一些主要區別: 1. 多路復用(Multiplexing) HTTP/1.1 : 在
    的頭像 發表于 12-30 09:25 ?730次閱讀
    主站蜘蛛池模板: 美女黄色一级毛片 | 欧美国产日本高清不卡 | 亚洲香蕉久久一区二区三区四区 | 高清色 | 天天爽天天干天天操 | 欧美一区二区三区成人看不卡 | 华人黄网站大全 | 天天看黄| 亚洲一区免费视频 | 婷婷亚洲综合五月天小说在线 | 在线观看你懂的视频 | 亚洲最大的成人网 | 日韩在线视频免费观看 | 五月天综合在线 | 免费可以看黄的视频 s色 | 国模私拍一区二区三区 | 明星三级国产免费播放 | 国产三级日产三级韩国三级 | 久久夜夜操妹子 | 亚洲三级网 | 狠狠色噜噜狠狠狠狠999米奇 | 性欧美视频videos6一9 | 好男人社区www在线观看 | 久久国产乱子伦精品免 | 亚洲一区二区欧美 | 国产性猛交xx乱 | 免费a网址 | 成人激情视频网 | 黄色成人在线 | 天天天色综合 | 天天综合天天 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 国产日韩一区二区三区 | 色多多视频成人影院 | 国产黄网站| 日本天天色 | 亚洲第成色999久久网站 | 寄宿日记免费看 | 精品国产一二三区在线影院 | 久久成人免费网站 | 国产一区国产二区国产三区 |