HTTP和HTTPS

Dazz_24發表於2024-06-11

[TOP]

HTTP 和 HTTPS 的基本概念

HTTP:超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。設計 HTTP 最初的目的是為了提供一種釋出和接收 HTML 頁面的方法。它可以使瀏覽器更加高效。HTTP 協議是以明文方式傳送資訊的,如果駭客擷取了 Web 瀏覽器和伺服器之間的傳輸報文,就可以直接獲得其中的資訊。

HTTP 原理:

① 客戶端的瀏覽器首先要透過網路與伺服器建立連線,該連線是透過 TCP 來完成的,一般 TCP 連線的埠號是80。 建立連線後,客戶機傳送一個請求給伺服器,請求方式的格式為:統一資源識別符號(URI)、協議版本號,後邊是 MIME 資訊包括請求修飾符、客戶機資訊和許可內容。

② 伺服器接到請求後,給予相應的響應資訊,其格式為一個狀態行,包括資訊的協議版本號、一個成功或錯誤的程式碼,後邊是 MIME 資訊包括伺服器資訊、實體資訊和可能的內容。

HTTPS:是以安全為目標的 HTTP 通道,是 HTTP 的安全版。HTTPS 的安全基礎是 SSL。SSL 協議位於 TCP/IP 協議與各種應用層協議之間,為資料通訊提供安全支援。SSL 協議可分為兩層:SSL 記錄協議(SSL Record Protocol),它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供資料封裝、壓縮、加密等基本功能的支援。SSL 握手協議(SSL Handshake Protocol),它建立在 SSL 記錄協議之上,用於在實際的資料傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密金鑰等。

HTTPS 設計目標:

(1) 資料保密性:保證資料內容在傳輸的過程中不會被第三方檢視。就像快遞員傳遞包裹一樣,都進行了封裝,別人無法獲知裡面裝了什麼 。

(2) 資料完整性:及時發現被第三方篡改的傳輸內容。就像快遞員雖然不知道包裹裡裝了什麼東西,但他有可能中途掉包,資料完整性就是指如果被掉包,我們能輕鬆發現並拒收 。

(3) 身份校驗安全性:保證資料到達使用者期望的目的地。就像我們郵寄包裹時,雖然是一個封裝好的未掉包的包裹,但必須確定這個包裹不會送錯地方,透過身份校驗來確保送對了地方 。

HTTP 與 HTTPS 的區別

1、HTTPS 協議需要到 CA (Certificate Authority,證書頒發機構)申請證書,一般免費證書較少,因而需要一定費用。(以前的網易官網是http,而網易郵箱是 https 。)

2、HTTP 是超文字傳輸協議,資訊是明文傳輸,HTTPS 則是具有安全性的 SSL 加密傳輸協議。

3、HTTP 和 HTTPS 使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

4、HTTP 的連線很簡單,是無狀態的。HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網路協議,比 HTTP 協議安全。(無狀態的意思是其資料包的傳送、傳輸和接收都是相互獨立的。無連線的意思是指通訊雙方都不長久的維持對方的任何資訊。)
原文連結

相關文章