溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

HTTP和HTTPS連接是如何建立的

發(fā)布時(shí)間:2021-08-27 17:44:14 來源:億速云 閱讀:137 作者:chen 欄目:安全技術(shù)

這篇文章主要講解了“HTTP和HTTPS連接是如何建立的”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“HTTP和HTTPS連接是如何建立的”吧!

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

1、建立連接

HTTP和HTTPS都需要在建立連接的基礎(chǔ)上來進(jìn)行數(shù)據(jù)傳輸,是基本操作

當(dāng)客戶在瀏覽器中輸入網(wǎng)址后,瀏覽器會(huì)在瀏覽器DNS緩存,本地DNS緩存,和Hosts中尋找對(duì)應(yīng)的記錄,如果沒有獲取到則會(huì)請求DNS服務(wù)來獲取對(duì)應(yīng)的ip

當(dāng)獲取到ip后,tcp連接會(huì)進(jìn)行三次握手建立連接

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

過程簡圖

HTTP和HTTPS連接是如何建立的

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

***次:建立連接時(shí),客戶端發(fā)送SYN包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);

第二次:服務(wù)器收到SYN包,向客戶端返回ACK(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RCVD狀態(tài);

第三次:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。

完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù),也就是ESTABLISHED狀態(tài)。

三次握手保證了不會(huì)建立無效的連接,從而浪費(fèi)資源。

4、四次握手(斷開連接)

***次:TCP客戶端發(fā)送一個(gè)FIN,用來關(guān)閉客戶到服務(wù)器的數(shù)據(jù)傳送。

第二次:服務(wù)器收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。

第三次:服務(wù)器關(guān)閉客戶端的連接,發(fā)送一個(gè)FIN給客戶端。

第四次:客戶端發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1。

5、 HTTP請求過程

  • 建立連接完畢以后客戶端會(huì)發(fā)送響應(yīng)給服務(wù)端

  • 服務(wù)端接受請求并且做出響應(yīng)發(fā)送給客戶端

  • 客戶端收到響應(yīng)并且解析響應(yīng)給用戶

HTTP和HTTPS連接是如何建立的

HTTPS

  • 在使用HTTPS是需要保證服務(wù)端配置正確了對(duì)應(yīng)的安全證書

  • 客戶端發(fā)送請求到服務(wù)端

  • 服務(wù)端返回公鑰和證書到客戶端

  • 客戶端接收后會(huì)驗(yàn)證證書的安全性,如果通過則會(huì)隨機(jī)生成一個(gè)隨機(jī)數(shù),用公鑰對(duì)其加密,發(fā)送到服務(wù)端

  • 服務(wù)端接受到這個(gè)加密后的隨機(jī)數(shù)后會(huì)用私鑰對(duì)其解密得到真正的隨機(jī)數(shù),隨后用這個(gè)隨機(jī)數(shù)當(dāng)做私鑰對(duì)需要發(fā)送的數(shù)據(jù)進(jìn)行對(duì)稱加密

  • 客戶端在接收到加密后的數(shù)據(jù)使用私鑰(即生成的隨機(jī)值)對(duì)數(shù)據(jù)進(jìn)行解密并且解析數(shù)據(jù)呈現(xiàn)結(jié)果給客戶

SSL加密建立

HTTPS是如何建立連接的,又是怎么進(jìn)行加密的?

那HTTPS是如何建立連接的呢,怎么商量好加密密碼的呢?HTTPS 同 HTTP 一樣,首先建立起 TCP  連接,但是建立好之后并不是立即發(fā)出請求,索要具體的資源,而是先和對(duì)方商量加密的密碼。商量的加密密碼的過程就是建立 TSL  連接的過程。

其實(shí)并沒有建立真實(shí)的連接,只是在剛剛建立好的 TCP  連接上,包裹上一層加密協(xié)議而已。但是也被形象的稱作連接建立。具體建立方式如下:客服端發(fā)給服務(wù)器一個(gè)HELLO包,里面有我支持的加密協(xié)議列表。服務(wù)器收到后發(fā)送也給客戶端發(fā)送一個(gè)HELLO數(shù)據(jù)包,數(shù)據(jù)包內(nèi)包涵服務(wù)器挑選的加密算法,還包含自己的數(shù)字證書信息。

你拿到他的數(shù)字證書信息之后就需要去向  CA  校驗(yàn)證書,校驗(yàn)成功后也知道了對(duì)方的公鑰,就該通知服務(wù)器,我們以后對(duì)稱加密的密碼是多少,當(dāng)然,這個(gè)密碼是要用公鑰加密的。在這條消息發(fā)送之前,客戶端會(huì)先發(fā)送一條消息,告訴服務(wù)器,我下一個(gè)消息將使用你剛剛挑選的加密協(xié)議進(jìn)行加密了,下一個(gè)消息是加密后的哦,不要搞錯(cuò)。之后將對(duì)稱加密的密文發(fā)給服務(wù)器。服務(wù)器接收到之后,會(huì)根據(jù)對(duì)稱密鑰生成一系列復(fù)雜的加密算法,在傳輸給客服端,客戶端收到后會(huì)給服務(wù)器發(fā)送一個(gè)  Finished Message ,服務(wù)器收到消息后也回一個(gè) Finished  Message。這時(shí),我們終于完成了加密的準(zhǔn)備工作,一切加密方式和密鑰都商量好了,終于可以傳輸數(shù)據(jù)了。至此,TSL 建立連接的過程結(jié)束。

目前網(wǎng)站最安全的保護(hù)方式就是為網(wǎng)站部署SSL證書,SSL證書為我們提供了更加安全、隱私、健康的互聯(lián)網(wǎng)環(huán)境,SSL證書對(duì)傳輸中的數(shù)據(jù)進(jìn)行加密,防止黑客的盜取甚至篡改數(shù)據(jù),保護(hù)用戶的個(gè)人信息及企業(yè)機(jī)密數(shù)據(jù)。

感謝各位的閱讀,以上就是“HTTP和HTTPS連接是如何建立的”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)HTTP和HTTPS連接是如何建立的這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI