http和https的區別

2021-09-12 02:15:13 字數 1531 閱讀 5975

http和https的區別:

簡單來說,https = http + ssl(secure sockets layer 安全套接層)

http協議以明文方式傳送內容,不提供任何方式的資料加密,如果攻擊者擷取了web瀏覽器和**伺服器之間的傳輸報文,就可以直接讀懂其中的資訊,因此http協議不適合傳輸一些敏感資訊,比如信用卡號、密碼等。

為了解決http協議的這一缺陷,需要使用另一種協議:安全套接字層超文字傳輸協議https。為了資料傳輸的安全,https在http的基礎上加入了ssl協議,ssl依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。

https和http的區別主要為以下四點:

一、https協議需要到ca申請證書,一般免費證書很少,需要交費。

二、http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

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

四、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

**安全問題其實是觸目驚心的,主要表現在以下方面:

①首頁會被篡改,非法跳轉;

②**被灌入廣告,但收入不歸自己**所有。https是公認可有效的防止**被黑被篡改的認證協議。

ssl工作原理:

1、使用者(客戶端)先向伺服器傳送乙個https請求

2、伺服器拿到請求之後進行處理,伺服器端存放了2個鑰匙(私鑰、公鑰,公鑰和私鑰是不一樣的,但是是一對,可以開一把鎖),具體的處理步驟如下:先使用私鑰把需要響應客戶端的內容進行加密,再去把公鑰隨同響應內容一起傳送給客戶端

3、當瀏覽器獲取到伺服器端響應內容之後先去驗證公鑰的有效性,如果驗證通過則繼續後續操作,如果驗證不通過,則會顯示警告資訊;受信任則產生隨機的鑰匙,然後使用公鑰進行內容的加密

4、將加密完成的資料傳送給伺服器端

5、伺服器端在獲取加密資訊之後再去使用私鑰進行解密

6、伺服器再去把需要響應的內容再返回給客戶端,傳送之前先使用私鑰進行加密;

後續的步驟就是迴圈這個過程,只是後面不需要每次傳送公鑰

ssl單向雙向認證

單向認證:客戶端向伺服器傳送訊息,伺服器接到訊息後,用伺服器端的金鑰庫中的私鑰對資料進行加密,然後把加密後的資料和伺服器端的公鑰一起傳送到客戶端,客戶端用伺服器傳送來的公鑰對資料解密,然後在用傳到客戶端的伺服器公鑰對資料加密傳給伺服器端,伺服器用私鑰對資料進行解密,這就完成了客戶端和伺服器之間通訊的安全問題,但是單向認證沒有驗證客戶端的合法性。

雙向認證:客戶端向伺服器傳送訊息,首先把訊息用客戶端證書加密然後連同時把客戶端證書一起傳送到伺服器端,伺服器接到訊息後用首先用客戶端證書把訊息解密,然後用伺服器證書把訊息加密,把伺服器證書和訊息一起傳送到客戶端,客戶端用發來的伺服器證書對訊息進行解密,然後用伺服器的證書對訊息加密,然後在用客戶端的證書對訊息在進行一次加密,連同加密訊息和客戶端證書一起傳送到伺服器端,到伺服器端首先用客戶端傳來的證書對訊息進行解密,確保訊息是這個客戶發來的,然後用伺服器端的證書對訊息在進行解密這個便得到了明文資料。

HTTPS和HTTP的區別

https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...

HTTPS和HTTP的區別

https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...

http和https的區別

在url前加https 字首表明是用ssl加密的。你的電腦與伺服器之間收發的資訊傳輸將更加安全。web伺服器啟用ssl需要獲得乙個伺服器證書並將該證書與要使用ssl的伺服器繫結。http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。http的連線很簡單,是無狀態的...