這段話隨便看看就好了,除了文字能看懂,其他的咱也看不懂,嗐
Http(HTTP-Hypertexttransferprotocol)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請(qǐng)求和響應(yīng)消息的頭以ASCII碼形式給出;而消息內(nèi)容則具有一個(gè)類似MIME的格式。這個(gè)簡(jiǎn)單模型是早期Web成功的有功之臣,因?yàn)樗归_發(fā)和部署非常地直截了當(dāng)。
Https(全稱:HyperTextTransferProtocoloverSecureSocketLayer),是以安全為目標(biāo)的HTTP通道,在HTTP的基礎(chǔ)上通過傳輸加密和身份認(rèn)證保證了傳輸過程的安全性。HTTPS在HTTP的基礎(chǔ)下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。HTTPS存在不同于HTTP的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP與TCP之間)。這個(gè)系統(tǒng)提供了身份驗(yàn)證與加密通訊***。它被廣泛用于萬維網(wǎng)上安全敏感的通訊,例如交易支付等方面。
粗解Http、Https的區(qū)別(學(xué)疏才淺,不敢詳解)Http是超文本傳輸協(xié)議,數(shù)據(jù)明文傳輸,所以會(huì)被抓包導(dǎo)致信息泄露,有安全風(fēng)險(xiǎn)問題!Https則是具有安全性的SSL加密傳輸協(xié)議。Http和Https使用的是完全不同的連接方式用的端口也不一樣,前者是80,后者是443。Http的連接很簡(jiǎn)單,是無狀態(tài)的。HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議。Https協(xié)議需要到CA付費(fèi)申請(qǐng)證書,
HTTP是應(yīng)用層協(xié)議,同其他應(yīng)用層協(xié)議一樣,是為了實(shí)現(xiàn)某一類具體應(yīng)用的協(xié)議,并由某一運(yùn)行在用戶空間的應(yīng)用程序來實(shí)現(xiàn)其功能。HTTP是一種協(xié)議規(guī)范,這種規(guī)范記錄在文檔上,為真正通過HTTP協(xié)議進(jìn)行通信的HTTP的實(shí)現(xiàn)程序。HTTP是一種無狀態(tài)協(xié)議,即服務(wù)器不保留與客戶交易時(shí)的任何狀態(tài)。這就大大減輕了服務(wù)器記憶負(fù)擔(dān),從而保持較快的響應(yīng)速度。HTTP是一種面向?qū)ο蟮膮f(xié)議。允許傳送任意類型的數(shù)據(jù)對(duì)象。它通過數(shù)據(jù)類型和長(zhǎng)度來標(biāo)識(shí)所傳送的數(shù)據(jù)內(nèi)容和大小,并允許對(duì)數(shù)據(jù)進(jìn)行壓縮傳送。當(dāng)用戶在一個(gè)HTML文檔中定義了一個(gè)超文本鏈后,瀏覽器將通過TCP/IP協(xié)議與指定的服務(wù)器建立連接。
上面概述其實(shí)是很廢話的,忽略吧!!!
上圖是Http的工作流程圖,Https會(huì)在Tcp首部這一層前加上安全層(SSL/TSL)加解密Http報(bào)文注:TLS是SSL的升級(jí)替代版,具體發(fā)展歷史可以參考傳輸層安全性協(xié)議。
Https解決的問題Https協(xié)議因?yàn)椴捎妹芪膫鬏敚菻ttp協(xié)議安全。
1、信任主機(jī)的問題。采用https的server必須從CA申請(qǐng)一個(gè)用于證明服務(wù)器用途類型的證書.改證書只有用于對(duì)應(yīng)的server的時(shí)候,客戶度才信任次主機(jī)。所以目前所有的銀行系統(tǒng)網(wǎng)站,關(guān)鍵部分應(yīng)用都是https的。客戶通過信任該證書,從而信任了該主機(jī)。其實(shí)這樣做效率很低,但是銀行更側(cè)重安全。這一點(diǎn)對(duì)我們沒有任何意義,我們的server采用的證書不管自己issue還是從公眾的地方issue,客戶端都是自己人,所以我們也就肯定信任該server。
2、通訊過程中的數(shù)據(jù)的泄密和被竄改。(1)一般意義上的https,就是server有一個(gè)證書,主要目的是保證server就是他聲稱的server,這個(gè)跟第一點(diǎn)一樣。b)服務(wù)端和客戶端之間的所有通訊,都是加密的。i.具體講,是客戶端產(chǎn)生一個(gè)對(duì)稱的密鑰,通過server的證書來交換密鑰。一般意義上的握手過程。ii.加下來所有的信息往來就都是加密的,第三方即使截獲,也沒有任何意義,因?yàn)樗麤]有密鑰,當(dāng)然竄改也就沒有什么意義了。(2)少許對(duì)客戶端有要求的情況下,會(huì)要求客戶端也必須有一個(gè)證書。這里客戶端證書,其實(shí)就類似表示個(gè)人信息的時(shí)候,除了用戶名/密碼,還有一個(gè)CA認(rèn)證過的身份,應(yīng)為個(gè)人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認(rèn)自己的身份。目前少數(shù)個(gè)人銀行的***版是這種做法,具體證書可能是拿U盤作為一個(gè)備份的載體。HTTPS在HTTP與TCP層之間加入了SSL/TLS協(xié)議,可以很好的解決了上述的風(fēng)險(xiǎn):
信息加密:交互信息無法被竊取,但你的號(hào)會(huì)因?yàn)椤缸陨硗洝官~號(hào)而沒。校驗(yàn)機(jī)制:無法篡改通信內(nèi)容,篡改了就不能正常顯示,但百度「競(jìng)價(jià)排名」依然可以搜索垃圾廣告。***書:證明淘寶是真的淘寶網(wǎng),但你的錢還是會(huì)因?yàn)椤付缡帧苟鴽]。
可見,只要自身不做「惡」,SSL/TLS協(xié)議是能保證通信是安全的。
作者:BuildF鏈接:https://juejin.cn/post/6904227431939342344