HTTP和HTTPS連線是如何建立的?

2021-09-23 15:41:57 字數 2413 閱讀 3562

http和https連線是如何建立的?

https指的是超文字傳輸安全協議。https是在http的基礎上和ssl/tls證書結合起來的一種協議,保證了傳輸過程中的安全性,減少了被惡意劫持的可能.很好的解決了http的三個缺點(被監聽、被篡改、被偽裝)那麼http和https連線是如何建立的?簡單的理解,https就是將http中的傳輸內容進行了加密,然後通過可靠的連線,傳輸到對方的機器上。

http和https連線是如何建立的?

1、建立連線

http和https都需要在建立連線的基礎上來進行資料傳輸,是基本操作

當客戶在瀏覽器中輸入**後,瀏覽器會在瀏覽器dns快取,本地dns快取,和hosts中尋找對應的記錄,如果沒有獲取到則會請求dns服務來獲取對應的ip

當獲取到ip後,tcp連線會進行三次握手建立連線

2、tcp的三次揮手和四次揮手

過程簡圖

3、三次握手(建立連線)

第一次:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;

第二次:伺服器收到syn包,向客戶端返回ack(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_rcvd狀態;

第三次:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

完成三次握手,客戶端與伺服器開始傳送資料,也就是established狀態。

三次握手保證了不會建立無效的連線,從而浪費資源。

4、四次揮手(斷開連線)

第一次: tcp客戶端傳送乙個fin,用來關閉客戶到伺服器的資料傳送。

第二次:伺服器收到這個fin,它發回乙個ack,確認序號為收到的序號加1。和syn一樣,乙個fin將占用乙個序號。

第三次:伺服器關閉客戶端的連線,傳送乙個fin給客戶端。

第四次:客戶端發回ack報文確認,並將確認序號設定為收到序號加1。

5、 http請求過程

· 建立連線完畢以後客戶端會傳送響應給服務端

· 服務端接受請求並且做出響應傳送給客戶端

· 客戶端收到響應並且解析響應給使用者

· 在使用https是需要保證服務端配置正確了對應的安全證書

· 客戶端傳送請求到服務端

· 服務端返回公鑰和證書到客戶端

· 客戶端接收後會驗證證書的安全性,如果通過則會隨機生成乙個隨機數,用公鑰對其加密,傳送到服務端

· 服務端接受到這個加密後的隨機數後會用私鑰對其解密得到真正的隨機數,隨後用這個隨機數當做私鑰對需要傳送的資料進行對稱加密

· 客戶端在接收到加密後的資料使用私鑰(即生成的隨機值)對資料進行解密並且解析資料呈現結果給客戶

· ssl加密建立

https是如何建立連線的,又是怎麼進行加密的?

那https是如何建立連線的呢,怎麼商量好加密密碼的呢?https 同 http 一樣,首先建立起 tcp 連線,但是建立好之後並不是立即發出請求,索要具體的資源,而是先和對方商量加密的密碼。商量的加密密碼的過程就是建立 tsl 連線的過程。其實並沒有建立真實的連線,只是在剛剛建立好的 tcp 連線上,包裹上一層加密協議而已。但是也被形象的稱作連線建立。具體建立方式如下:客服端發給伺服器乙個hello包,裡面有我支援的加密協議列表。伺服器收到後傳送也給客戶端傳送乙個hello資料報,資料報內包涵伺服器挑選的加密演算法,還包含自己的數字證書資訊。你拿到他的數字證書資訊之後就需要去向 ca 校驗證書,校驗成功後也知道了對方的公鑰,就該通知伺服器,我們以後對稱加密的密碼是多少,當然,這個密碼是要用公鑰加密的。在這條訊息傳送之前,客戶端會先傳送一條訊息,告訴伺服器,我下乙個訊息將使用你剛剛挑選的加密協議進行加密了,下乙個訊息是加密後的哦,不要搞錯。之後將對稱加密的密文發給伺服器。伺服器接收到之後,會根據對稱金鑰生成一系列複雜的加密演算法,在傳輸給客服端,客戶端收到後會給伺服器傳送乙個 finished message ,伺服器收到訊息後也回乙個 finished message。這時,我們終於完成了加密的準備工作,一切加密方式和金鑰都商量好了,終於可以傳輸資料了。至此,tsl 建立連線的過程結束。

目前**最安全的保護方式就是為**部署ssl證書,ssl證書為我們提供了更加安全、隱私、健康的網際網路環境,ssl證書對傳輸中的資料進行加密,防止黑客的盜取甚至篡改資料,保護使用者的個人資訊及企業機密資料。

在中國,通過國際webtrust標準的認證的ca機構僅3家,具備了國際電子認證服務能力的ca機構,通過國際webtrust標準的認證意味著ca機構的運營管理和服務水平符合國際標準,並且有能力、有資質提供全球化認證服務,是可靠電子認證服務的有效證明。

http 和https http和https簡述

http https以及websocket的簡述。上圖包括三個部分 建立連線,資料傳輸,斷開連線 第一次握手 客戶端傳送syn包 seq x 到伺服器,並進入syn sent狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn包 seq...

什麼是HTTP協議?什麼是HTTPS協議?

什麼是http協議?什麼是https協議?1.http和https的區別 區別 2.對稱加密和非對稱加密 對稱加密 非對稱加密 3.建立連線 4.三次握手和四次分手 5.一次完整的http事務流程 6.dns網域名稱解析 解析過程 7.tcp協議如何來保證傳輸的可靠性 對於可靠性,tcp通過以下方式...

我是這樣理解HTTP和HTTPS區別的

https是在http協議基礎上加入加密處理和認證機制以及完整性保護,即http 加密 認證 完整性保護 https https並非應用層的一種新協議,只是http通訊介面部分用ssl tls協議代替而已。通常http直接和tcp通訊,當使用ssl時則演變成先和ssl通訊,再由ssl和tcp通訊。所...