開(kāi)放、平等、協(xié)作、快速、分享
HTTPS是在HTTP的基礎(chǔ)上和ssl/tls證書(shū)結(jié)合起來(lái)的一種協(xié)議,保證了傳輸過(guò)程中的安全性,減少了被惡意劫持的可能.很好的解決了解決了http的三個(gè)缺點(diǎn)(被監(jiān)聽(tīng)、被篡改、被偽裝)
對(duì)稱加密
即加密的密鑰和解密的密鑰相同,
非對(duì)稱加密
非對(duì)稱加密將密鑰分為公鑰和私鑰,公鑰可以公開(kāi),私鑰需要保密,客戶端公鑰加密的數(shù)據(jù),服務(wù)端可以通過(guò)私鑰來(lái)解密
HTTP和HTTPS都需要在建立連接的基礎(chǔ)上來(lái)進(jìn)行數(shù)據(jù)傳輸,是基本操作
當(dāng)客戶在瀏覽器中輸入網(wǎng)址的并且按下回車(chē),瀏覽器會(huì)在瀏覽器DNS緩存,本地DNS緩存,和Hosts中尋找對(duì)應(yīng)的記錄,如果沒(méi)有獲取到則會(huì)請(qǐng)求DNS服務(wù)來(lái)獲取對(duì)應(yīng)的ip
當(dāng)獲取到ip后,tcp連接會(huì)進(jìn)行三次握手建立連接
第一次:建立連接時(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ù)器開(kāi)始傳送數(shù)據(jù),也就是ESTABLISHED狀態(tài)。
三次握手保證了不會(huì)建立無(wú)效的連接,從而浪費(fèi)資源。
第一次: TCP客戶端發(fā)送一個(gè)FIN,用來(lái)關(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。
建立連接完畢以后客戶端會(huì)發(fā)送響應(yīng)給服務(wù)端
服務(wù)端接受請(qǐng)求并且做出響應(yīng)發(fā)送給客戶端
客戶端收到響應(yīng)并且解析響應(yīng)響應(yīng)給客戶
在使用HTTPS是需要保證服務(wù)端配置正確了對(duì)應(yīng)的安全證書(shū)
客戶端發(fā)送請(qǐng)求到服務(wù)端
服務(wù)端返回公鑰和證書(shū)到客戶端
客戶端接收后會(huì)驗(yàn)證證書(shū)的安全性,如果通過(guò)則會(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加密建立
24小時(shí)免費(fèi)咨詢
請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)