http 和 https 有何區別?
阿新 • • 發佈:2018-05-31
HTTP與HTTPShttp是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80,後者是443。
http的連接很簡單,是無狀態的HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議要比http協議安全HTTPS解決的問題:
1 . 信任主機的問題. 采用https 的server 必須從CA 申請一個用於證明服務器用途類型的證書. 改證書只有用於對應的server 的時候,客戶度才信任次主機. 所以目前所有的銀行系統網站,關鍵部分應用都是https 的. 客戶通過信任該證書,從而信任了該主機. 其實這樣做效率很低,但是銀行更側重安全. 這一點對我們沒有任何意義,我們的server ,采用的證書不管自己issue 還是從公眾的地方issue, 客戶端都是自己人,所以我們也就肯定信任該server.
2 . 通訊過程中的數據的泄密和被竄改:
(1) 一般意義上的https, 就是 server 有一個證書.a) 主要目的是保證server 就是他聲稱的server. 這個跟第一點一樣.b) 服務端和客戶端之間的所有通訊,都是加密的.
(i. 具體講,是客戶端產生一個對稱的密鑰,通過server 的證書來交換密鑰. 一般意義上的握手過程.ii. 加下來所有的信息往來就都是加密的. 第三方即使截獲,也沒有任何意義.因為他沒有密鑰. 當然竄改也就沒有什麽意義了.)
(2) 少許對客戶端有要求的情況下,會要求客戶端也必須有一個證書.
a) 這裏客戶端證書,其實就類似表示個人信息的時候,除了用戶名/密碼, 還有一個CA 認證過的身份. 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份.
b) 目前少數個人銀行的專業版是這種做法,具體證書可能是拿U盤作為一個備份的載體.
(3)HTTPS 一定是繁瑣的.
a) 本來簡單的http協議,一個get一個response. 由於https 要還密鑰和確認加密算法的需要.單握手就需要6/7 個往返.i. 任何應用中,過多的round trip 肯定影響性能.
b) 接下來才是具體的http協議,每一次響應或者請求, 都要求客戶端和服務端對會話的內容做加密/解密.(i. 盡管對稱加密/解密效率比較高,可是仍然要消耗過多的CPU,為此有專門的SSL 芯片. 如果CPU 信能比較低的話,肯定會降低性能,從而不能serve 更多的請求.ii. 加密後數據量的影響. 所以,才會出現那麽多的安全認證提示。)
http的連接很簡單,是無狀態的HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議要比http協議安全HTTPS解決的問題:
1 . 信任主機的問題. 采用https 的server 必須從CA 申請一個用於證明服務器用途類型的證書. 改證書只有用於對應的server 的時候,客戶度才信任次主機. 所以目前所有的銀行系統網站,關鍵部分應用都是https 的. 客戶通過信任該證書,從而信任了該主機. 其實這樣做效率很低,但是銀行更側重安全. 這一點對我們沒有任何意義,我們的server ,采用的證書不管自己issue 還是從公眾的地方issue, 客戶端都是自己人,所以我們也就肯定信任該server.
(1) 一般意義上的https, 就是 server 有一個證書.a) 主要目的是保證server 就是他聲稱的server. 這個跟第一點一樣.b) 服務端和客戶端之間的所有通訊,都是加密的.
(i. 具體講,是客戶端產生一個對稱的密鑰,通過server 的證書來交換密鑰. 一般意義上的握手過程.ii. 加下來所有的信息往來就都是加密的. 第三方即使截獲,也沒有任何意義.因為他沒有密鑰. 當然竄改也就沒有什麽意義了.)
(2) 少許對客戶端有要求的情況下,會要求客戶端也必須有一個證書.
a) 這裏客戶端證書,其實就類似表示個人信息的時候,除了用戶名/密碼, 還有一個CA 認證過的身份. 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份.
(3)HTTPS 一定是繁瑣的.
a) 本來簡單的http協議,一個get一個response. 由於https 要還密鑰和確認加密算法的需要.單握手就需要6/7 個往返.i. 任何應用中,過多的round trip 肯定影響性能.
b) 接下來才是具體的http協議,每一次響應或者請求, 都要求客戶端和服務端對會話的內容做加密/解密.(i. 盡管對稱加密/解密效率比較高,可是仍然要消耗過多的CPU,為此有專門的SSL 芯片. 如果CPU 信能比較低的話,肯定會降低性能,從而不能serve 更多的請求.ii. 加密後數據量的影響. 所以,才會出現那麽多的安全認證提示。)
http是超文本傳輸協議在互聯網上應用最為廣泛的一種網絡協議,所有www文件都必須遵守這個標準,基於TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)連接。
https是超文本傳輸安全協議,是一種網絡安全傳輸協議。http協議傳輸的數據都沒有加密,一些私密的信息不安全,https經由超文本傳輸協議(http)進行通信,利用SSL/TLS來加密數據包,https開發的主要目的就是為了保護數據傳輸的安全性。
HTTPS和HTTP的區別:
1) https協議要申請證書到ca,需要一定經濟成本;
2) http是明文傳輸,https是加密的安全傳輸;
3) 連接的端口不一樣,http是80,https是443;
4)http連接很簡單,沒有狀態;https是ssl加密的傳輸,身份認證的網絡協議,相對http傳輸比較安全。
一句話:HTTP+加密+認證+完整性保護=HTTPS
http 和 https 有何區別?