Python培訓(xùn)教程:HTTP與HTTPS有什么區(qū)別和聯(lián)系?簡(jiǎn)單來(lái)說(shuō),HTTPS就是HTTP的加強(qiáng)版,這樣子是不是好理解多了?當(dāng)然啦,仔細(xì)分析下來(lái),HTTP與HTTPS的區(qū)別和聯(lián)系不止于此,下面是詳細(xì)分析。
Python培訓(xùn)教程:HTTP與HTTPS有什么區(qū)別和聯(lián)系?
一、基本概念
1、HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。簡(jiǎn)單來(lái)說(shuō)就是一種發(fā)布和接收 HTML 頁(yè)面的方法,被用于在 Web 瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。
HTTP默認(rèn)工作在 TCP 協(xié)議 80 端口,用戶訪問(wèn)網(wǎng)站http://打頭的都是標(biāo)準(zhǔn) HTTP 服務(wù)。
HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號(hào)、密碼等支付信息。
2、HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議。HTTPS 經(jīng)由 HTTP 進(jìn)行通信,但利用 SSL/TLS 來(lái)加密數(shù)據(jù)包。HTTPS 開(kāi)發(fā)的主要目的,是提供對(duì)網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。
HTTPS默認(rèn)工作在 TCP 協(xié)議443端口,它的工作流程一般如以下方式:
1、TCP 三次同步握手
2、客戶端驗(yàn)證服務(wù)器數(shù)字證書(shū)
3、DH 算法協(xié)商對(duì)稱加密算法的密鑰、hash 算法的密鑰
4、SSL 安全加密隧道協(xié)商完成
5、網(wǎng)頁(yè)以加密的方式傳輸,用協(xié)商的對(duì)稱加密算法和密鑰加密,保證數(shù)據(jù)機(jī)密性;用協(xié)商的hash算法進(jìn)行數(shù)據(jù)完整性保護(hù),保證數(shù)據(jù)不被篡改。
二、HTTP和HTTPS的聯(lián)系:
一般情況,HTTP 和 HTTPS 是相同的,因?yàn)椴捎玫幕A(chǔ)協(xié)議一樣。作為 HTTP 或 HTTPS瀏覽器,設(shè)立連接到 Web 服務(wù)器指定的端口,當(dāng)服務(wù)器接收到請(qǐng)求,通過(guò)資源定位器 URI 模式,資源可以被唯一指定,此時(shí)便返回一個(gè)狀態(tài)碼以及響應(yīng)消息,這個(gè)響應(yīng)消息可能是用戶需要的信息信息、也有可能是指示某個(gè)錯(cuò)誤信息(由http協(xié)議狀態(tài)碼得到某種 )。
三、HTTP與HTTPS 區(qū)別
HTTP明文傳輸,數(shù)據(jù)都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數(shù)據(jù)傳輸過(guò)程是加密的,安全性較好。
使用 HTTPS 協(xié)議需要到 CA(Certificate Authority,數(shù)字證書(shū)認(rèn)證機(jī)構(gòu)) 申請(qǐng)證書(shū),一般免費(fèi)證書(shū)較少,因而需要一定費(fèi)用。證書(shū)頒發(fā)機(jī)構(gòu)如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP頁(yè)面響應(yīng)速度比 HTTPS 快,主要是因?yàn)?HTTP 使用 TCP 三次握手建立連接,客戶端和服務(wù)器需要交換 3 個(gè)包,而 HTTPS除了 TCP 的三個(gè)包,還要加上 ssl 握手需要的 9 個(gè)包,所以一共是 12 個(gè)包。
HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。
HTTPS其實(shí)就是建構(gòu)在 SSL/TLS 之上的 HTTP 協(xié)議,所以,要比較HTTPS比HTTP要更耗費(fèi)服務(wù)器資源。
如果您對(duì)Python技術(shù)非常感興趣,可以來(lái)了解一下千鋒教育提供的Python培訓(xùn)課程,大家也可以先點(diǎn)擊咨詢按鈕來(lái)獲取我們的Python課程免費(fèi)試聽(tīng)資格,在試聽(tīng)中可以更加深入的了解我們千鋒教育。