前端面試http和https的區別

zhangfaliang發表於2018-12-21

作為一名前端”程式碼猿“在面試的時候競猜或問道:

面試官:“tcp/ip協議分為幾層?”

面試官:“tcp握手三次建立建立過程?”

面試官:“http和https之類的區別?”

......

前端”程式碼猿“:“??????what問我這個幹嗎?我會寫js、css就行唄”

其實要想作為一個比較高階的前端”程式碼猿“,TCP/IP協議這塊我們們還是需要了解一下的?

今天我們來目睹一下http和https的區別到時在哪裡。

1 、https是什麼?

https不是一個新的協議,它只是http協議身披一層SSL(Secure Socket Layer,安全套階 層)協議,SSL這層協議存在於應用層(http層)到TCP層之間,如下圖前端面試http和https的區別

2、為什麼要使用https?

我在之前的文章中寫過http的缺點,先簡單的羅列一下缺點

2.1、http協議的報文傳輸時不加密的,有些隱私資訊存在被竊聽的風險。

2.2、http協議通訊時無法驗證通訊方身份,可能存在偽裝者(客戶端、伺服器)

2.3、http協議無法判斷通訊報文的完整性,通訊報文在TCP/IP協議通訊中可能會被篡改

使用https協議就是為了解決以上的三個問題,我們們都知道https協議是http協議+ssl協議組成的,那麼http協議的缺點,只能是ssl協議來完成。

3、下面簡介一下ssl協議

 HTTPS使用SSL(Secure Scocket Layer ,安全套階層)和TLS(Transport Layer Secure,安全層傳輸協議)這兩種協議。

3.1 、SSL的產生

SSL 技術最初是由瀏覽器開發商網景通訊公司率先倡導的,開發 過 SSL3.0 之前的版本。目前主導權已轉移到 IETF(Internet Engineering Task Force,Internet 工程任務組)的手中

3.2、SSL和TLS(transport layer secure,安全層傳輸協議)的關係?

IETF 以 SSL3.0 為基準,後又制定了 TLS1.0、TLS1.1 和TLS1.2。TSL 是以 SSL 為原型開發的協議,有時會統一稱該協議 為 SSL。當前主流的版本是 SSL3.0 和 TLS1.0。

由於 SSL1.0 協議在設計之初被發現出了問題,就沒有實際投入 使用。SSL2.0 也被發現存在問題,所以很多瀏覽器直接廢除了 該協議版本。

有興趣等出SSL怎麼完成http的那三個缺點的



相關文章