第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 后端通用面試教程 后端通用面試教程 計算機網(wǎng)絡HTTPS協(xié)議(一)

1. 前言

在上一章節(jié)中我們介紹了 HTTP 協(xié)議相關(guān)的面試題目,作為 HTTP 協(xié)議的擴展,HTTPS 協(xié)議也經(jīng)常被面試官提起。

因為對于大部分的前端、后端開發(fā)者,都接觸不到 HTTPS 協(xié)議的開發(fā)場景,因為我們往往只關(guān)注請求路徑后綴,例如關(guān)注 URL: /get/username,而非路徑全稱 https://coding.imooc.com/get/username ,所以考察 HTTPS 協(xié)議也是對候選人的知識深度的考驗。

2.1 HTTP 和 HTTPS 協(xié)議

** 面試官提問:** 為什么有了 HTTP 協(xié)議后還出現(xiàn)了 HTTPS 協(xié)議?HTTPS 協(xié)議解決了什么問題?

題目解析:

在研究 HTTPS 協(xié)議之前,我們先總結(jié)下 HTTP 協(xié)議的優(yōu)點和缺點:

優(yōu)點 缺點
通信方式簡單:基于請求和響應,客戶端發(fā)起請求,服務器端返回響應 明文通信:信息明文傳輸,安全性低。
無需維護狀態(tài):HTTP 是無狀態(tài)協(xié)議,不識別客戶端。 沒有狀態(tài):例如對于需要保持登錄狀態(tài)的網(wǎng)站,需要依靠其他外部方式(Cookie、Session)維護狀態(tài)。
速度快,效率高。

如上表所示,HTTP 協(xié)議犧牲了安全性,換來了效率,但是在某些安全性要求高的場景,使用 HTTP 協(xié)議是不合適的。

HTTP 協(xié)議的全稱是 Hypertext Transfer Protocol,HTTPS 協(xié)議的全程是 Hypertext Transfer Protocol Secure,多了一個 Secure(安全)的限制詞。從協(xié)議上看,HTTPS 協(xié)議基于 HTTP 協(xié)議,使用 SSL/TLS 協(xié)議對傳輸內(nèi)容進行加密,從公式上定義:HTTP + SSL(TLS) = HTTPS。

HTTPS 協(xié)議將 HTTP 協(xié)議的通信部分由 SSL 或者 TLS 協(xié)議替代,網(wǎng)絡模型劃分如下:

圖片描述

?

(HTTP 和 HTTPS 模型圖)

除了 SSL 協(xié)議以外,HTTPS 協(xié)議還涉及幾個重要的概念:CA 證書、混淆加密方式,以及 HTTPS 協(xié)議具體的工作流程,下面我們拆分解釋。

2.2 對稱加密和非對稱加密算法

** 面試官提問:** 既然 HTTPS 協(xié)議對通信內(nèi)容進行了加密,那么涉及到了什么加密算法?

題目解析:

HTTPS 協(xié)議的核心是加密流程,首先我們需要區(qū)分三種加密方式:對稱加密、非對稱加密以及混淆加密。

(1)對稱加密:加密方和解密方都使用了相同的密鑰,只要保證密鑰不會泄露給第三方, 整個通信過程就是安全的。

圖片描述

?

(對稱加密算法流程)

因為對稱加密算法整個過程共享同一個密鑰,所以使用特點也比較明顯。

優(yōu)點:算法簡單,加密速度快;

缺點:安全性低,如果密鑰泄露,密文也被中間人攔截,那么信息很容易就會被破解。

在企業(yè)生產(chǎn)環(huán)境下,常用的對稱加密算法有 AES 算法。

(2)非對稱加密:在安全性要求更高的場景下,我們需要使用非對稱加密,關(guān)于非對稱加密算法的流程如下:

圖片描述

(非對稱加密算法流程)

首先定義兩種密鑰:一種是公鑰(Public Key),給任何需要和接收方通信的客戶端保存;另一種是私鑰(Private Key),只給接收方自己保存。

對于要發(fā)送的原文文本,發(fā)送方通過接收方的公鑰對內(nèi)容加密,加密后的內(nèi)容只有接收方的私鑰可以解密。在整個傳輸過程中,如果發(fā)送方的公鑰泄露,加密內(nèi)容也被竊取,也不會導致傳輸內(nèi)容被破解(只要接收方的私鑰沒有泄露)。

常見的非對稱加密算法有 RSA 算法(即一種支持變長密鑰的公共密鑰算法)。

另外,面試官可能會提出 MD5 算法的劃分,MD5 是非常常見的加密算法,例如在保存用戶密碼時經(jīng)常被使用。但是要區(qū)分的是,MD5 算法不是對稱和非對稱算法,MD5 算法不可逆,主要目的是為了文件校驗(例如判斷文件是否在傳輸過程中損壞),或者數(shù)字簽名等途徑。

3. 小結(jié)

本小節(jié)主要給大家簡單說明了 HTTPS 協(xié)議和傳統(tǒng) HTTP 協(xié)議的區(qū)別,另外給出了對稱加密和非對稱加密算法的流程,我們需要掌握不同加密算法的特點,在下一章節(jié)中會給大家介紹 HTTPS 協(xié)議的具體流程。