2_HTTP與HTTPS的區別(20181226)


在這裏插入圖片描述


HTTP: 超文本傳輸協議 (HyperText Transfer Protocol)
HTTPS:安全套接字層超文本傳輸協議 (Hyper Text Transfer Protocol over Secure Socket Layer)


1. 從HTTP協議中衍生出的HTTPS協議

超文本傳輸協議HTTP協議被用於在Web瀏覽器和**網站服務器**之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。

爲了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS,爲了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證服務器的身份,併爲瀏覽器和服務器之間的通信加密。

2. 基本概念

  1. HTTP:超文本傳輸協議(HyperText Transfer Protocol)。是互聯網上應用最爲廣泛的一種網絡協議,所有的www文件都必須遵守這個標準。是一個客戶端和服務器端請求和應答的標準(TCP),用於從www服務器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。

  2. HTTPS:安全套接字層超文本傳輸協議(Hyper Text Transfer Protocol over Secure Socket Layer)。以安全爲目標的HTTP通道,簡單講是HTTP的安全版本,即HTTP下加入SSL(Secure Sockets Layer 安全套接層)層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

HTTPS和SSL支持使用X.509數字認證,如果需要的話用戶可以確認發送者是誰,也就是說它的主要作用可以分爲兩種:

(1)建立一個信息安全的通道,來保證數據傳輸的安全;
(2)確認網站的真實性。

3. 具體區別

HTTP協議傳輸的數據都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私信息非常不安全,爲了保證這些隱私數據加密傳輸,網景公司設計了SSL(Sercure Socket Layer)協議用於對HTTP協議傳輸的數據進行加密,從而誕生了HTTPS。具體的區別如下:

1、HTTPS更安全:HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比HTTP協議的信息明文傳輸安全;


2、HTTPS需要申請證書:HTTPS協議需要到CA申請證書,一般免費證書很少,需要交費,費用大概與.com域名差不多,每年需要大約幾十元的費用。而常見的HTTP協議則沒有這一項;


3、端口不同:HTTP使用的是大家最常見的80端口,而HTTPS連接使用的是443端口;


4、狀態不同:HTTP的連接很簡單,是無狀態的。而HTTPS協議是SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比HTTP協議安全;

4. HTTPS具體工作

HTTPS連接時,服務器要求有公鑰和簽名的證書。使用HTTPS連接,服務器響應初始連接,並提供它所支持的加密方法,作爲迴應,客戶端選擇一個連接方法,並且客戶端和服務器端交換證書驗證彼此身份,完成後在確保使用相同密鑰的情況下傳輸加密信息,然後關閉連接,爲了提供HTTPS連接支持,服務器必須有一個公鑰證書,該證書包含經過證書機構認證的密鑰信息,大部分證書都是通過第三方機構授權的以保證證書是安全的。

HTTPS跟HTTP一樣,只不過增加了SSL。

1、HTTP包含如下動作:

(1)瀏覽器打開一個TCP連接

(2)瀏覽器發送HTTP請求到服務器端

(3)服務器發送HTTP迴應信息到瀏覽器

(4)TCP連接關閉

2、SSL包含如下動作:

(1)驗證服務器端;

(2)允許客戶端和服務器端選擇加密算法和密碼,確保雙方都支持

(3)驗證客戶端(可選)

(4)使用公鑰加密技術來生成共享加密數據

(5)創建一個加密的SSL連接

(6)基於該SSL連接傳遞HTTP請求

參考
1、https://blog.csdn.net/u012050154/article/details/52045511
2、http://www.runoob.com/w3cnote/http-vs-https.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章