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

瀏覽器 DNS 黑客 IT大咖說 2019-07-11
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的三次揮手和四次揮手

過程簡圖

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

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請求過程

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

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

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

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

HTTPS

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

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

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

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

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

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

· SSL加密建立

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

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

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

目前網站最安全的保護方式就是為網站部署SSL證書,SSL證書為我們提供了更加安全、隱私、健康的互聯網環境,SSL證書對傳輸中的數據進行加密,防止黑客的盜取甚至篡改數據,保護用戶的個人信息及企業機密數據。

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

在中國,通過國際Webtrust標準的認證的CA機構僅3家,具備了國際電子認證服務能力的CA機構,通過國際Webtrust標準的認證意味著CA機構的運營管理和服務水平符合國際標準,並且有能力、有資質提供全球化認證服務,是可靠電子認證服務的有效證明。其中一家就是數安時代GDCA,在國內是一個綜合安全實力比較強的CA機構。需要購買SSL證書的企業或站長可以考慮一下,數安時代除了自主品牌GDCA,還有Symantec、Globalsign、GeoTrust等品牌,選擇更多,一次性對比,提供行業最優惠的價格。有需要可以到官網諮詢客服了解產品。

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

來都來了,走啥走,留個言唄~

IT大咖說 | 關於版權

由“IT大咖說(ID:itdakashuo)”原創的文章,轉載時請註明作者、出處及微信公眾號。投稿、約稿、轉載請加微信:ITDKS10(備註:投稿),茉莉小姐姐會及時與您聯繫!

感謝您對IT大咖說的熱心支持!

相關推薦


推薦文章

  • 還在為裝電腦系統而抉擇?Win10與Win7的優缺點讓你一目瞭然。

  • 假裝被騙,將計就計黑進印度騙子電腦揭開對方家底。這黑客小哥又6了

  • 微軟打算重新擁抱安卓 彌補曾經4000 億美元的錯誤


最近活動

  • 第四屆MAD技術論壇來襲!帶你漫步雲端,看見未來!

  • 2019第四屆SSC安全峰會


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

點擊【閱讀原文】更多IT技術圈乾貨等你挖掘

閱讀原文

相關推薦

推薦中...