HTTP 與 HTTPS 的區(qū)別

2021-01-29    分類: 網(wǎng)站建設(shè)

基本概念

HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。 簡單來說就是一種發(fā)布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。

HTTP 默認(rèn)工作在 TCP 協(xié)議 80 端口,用戶訪問網(wǎng)站 HTTP 協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號(hào)、密碼等支付信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議。HTTPS 經(jīng)由 HTTP 進(jìn)行通信,但利用 ssl/TLS 來加密數(shù)據(jù)包。HTTPS 開發(fā)的主要目的,是提供對(duì)網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。

HTTPS 默認(rèn)工作在 TCP 協(xié)議443端口,它的工作流程一般如以下方式:

  • 1、TCP 三次同步握手
  • 2、客戶端驗(yàn)證服務(wù)器數(shù)字證書
  • 3、DH 算法協(xié)商對(duì)稱加密算法的密鑰、hash 算法的密鑰
  • 4、ssl 安全加密隧道協(xié)商完成
  • 5、網(wǎng)頁以加密的方式傳輸,用協(xié)商的對(duì)稱加密算法和密鑰加密,保證數(shù)據(jù)機(jī)密性;用協(xié)商的hash算法進(jìn)行數(shù)據(jù)完整性保護(hù),保證數(shù)據(jù)不被篡改。

截至 2018 年 6 月,Alexa 排名前 100 萬的網(wǎng)站中有 34.6% 使用 HTTPS 作為默認(rèn)值,互聯(lián)網(wǎng) 141387 個(gè)最受歡迎網(wǎng)站的 43.1% 具有安全實(shí)施的 HTTPS,以及 45% 的頁面加載(透過Firefox紀(jì)錄)使用HTTPS。2017 年3 月,中國注冊(cè)域名總數(shù)的 0.11%使用 HTTPS。

根據(jù) Mozilla 統(tǒng)計(jì),自 2017 年 1 月以來,超過一半的網(wǎng)站流量被加密。

HTTP 與 HTTPS 區(qū)別

  • HTTP 明文傳輸,數(shù)據(jù)都是未加密的,安全性較差,HTTPS(ssl+HTTP) 數(shù)據(jù)傳輸過程是加密的,安全性較好。
  • 使用 HTTPS 協(xié)議需要到 CA(Certificate Authority,數(shù)字證書認(rèn)證機(jī)構(gòu)) 申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。證書頒發(fā)機(jī)構(gòu)如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
  • HTTP 頁面響應(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ù)器資源。

TCP 三次握手

在TCP/IP協(xié)議中,TCP協(xié)議通過三次握手建立一個(gè)可靠的連接


  • 第一次握手:客戶端嘗試連接服務(wù)器,向服務(wù)器發(fā)送 syn 包(同步序列編號(hào)Synchronize Sequence Numbers),syn=j,客戶端進(jìn)入 SYN_SEND 狀態(tài)等待服務(wù)器確認(rèn)
  • 第二次握手:服務(wù)器接收客戶端syn包并確認(rèn)(ack=j+1),同時(shí)向客戶端發(fā)送一個(gè) SYN包(syn=k),即 SYN+ACK 包,此時(shí)服務(wù)器進(jìn)入 SYN_RECV 狀態(tài)
  • 第三次握手:第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手

簡化:


HTTPS 的工作原理

我們都知道 HTTPS 能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網(wǎng)站或電子郵箱等等安全級(jí)別較高的服務(wù)都會(huì)采用 HTTPS 協(xié)議。


1、客戶端發(fā)起 HTTPS 請(qǐng)求

這個(gè)沒什么好說的,就是用戶在瀏覽器里輸入一個(gè) https 網(wǎng)址,然后連接到 server 的 443 端口。

2、服務(wù)端的配置

采用 HTTPS 協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請(qǐng),區(qū)別就是自己頒發(fā)的證書需要客戶端驗(yàn)證通過,才可以繼續(xù)訪問,而使用受信任的公司申請(qǐng)的證書則不會(huì)彈出提示頁面(startssl 就是個(gè)不錯(cuò)的選擇,有 1 年的免費(fèi)服務(wù))。

這套證書其實(shí)就是一對(duì)公鑰和私鑰,如果對(duì)公鑰和私鑰不太理解,可以想象成一把鑰匙和一個(gè)鎖頭,只是全世界只有你一個(gè)人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個(gè)鎖把重要的東西鎖起來,然后發(fā)給你,因?yàn)橹挥心阋粋€(gè)人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。

3、傳送證書

這個(gè)證書其實(shí)就是公鑰,只是包含了很多信息,如證書的頒發(fā)機(jī)構(gòu),過期時(shí)間等等。

4、客戶端解析證書

這部分工作是有客戶端的TLS來完成的,首先會(huì)驗(yàn)證公鑰是否有效,比如頒發(fā)機(jī)構(gòu),過期時(shí)間等等,如果發(fā)現(xiàn)異常,則會(huì)彈出一個(gè)警告框,提示證書存在問題。

如果證書沒有問題,那么就生成一個(gè)隨機(jī)值,然后用證書對(duì)該隨機(jī)值進(jìn)行加密,就好像上面說的,把隨機(jī)值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內(nèi)容。

5、傳送加密信息

這部分傳送的是用證書加密后的隨機(jī)值,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值,以后客戶端和服務(wù)端的通信就可以通過這個(gè)隨機(jī)值來進(jìn)行加密解密了。

6、服務(wù)段解密信息

服務(wù)端用私鑰解密后,得到了客戶端傳過來的隨機(jī)值(私鑰),然后把內(nèi)容通過該值進(jìn)行對(duì)稱加密,所謂對(duì)稱加密就是,將信息和私鑰通過某種算法混合在一起,這樣除非知道私鑰,不然無法獲取內(nèi)容,而正好客戶端和服務(wù)端都知道這個(gè)私鑰,所以只要加密算法夠彪悍,私鑰夠復(fù)雜,數(shù)據(jù)就夠安全。

7、傳輸加密后的信息

這部分信息是服務(wù)段用私鑰加密后的信息,可以在客戶端被還原。

8、客戶端解密信息

客戶端用之前生成的私鑰解密服務(wù)段傳過來的信息,于是獲取了解密后的內(nèi)容,整個(gè)過程第三方即使監(jiān)聽到了數(shù)據(jù),也束手無策

網(wǎng)頁名稱:HTTP 與 HTTPS 的區(qū)別
瀏覽地址:http://www.bm7419.com/news/97967.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、企業(yè)建站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、營銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司