https和http有什么區別是什么

【https和http有什么區別是什么】 HTTP和HTTPS的基本概念 HTTP:是互聯網上應用最為廣泛的一種網絡協議 , 是一個客戶端和服務器端請求和應答的標準(TCP) , 用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議 。 它可以使瀏覽器更加高效 , 使網絡傳輸減少 。  HTTPS:是以安全為目標的HTTP通道 , 簡單講是HTTP的安全版 , HTTPS的安全基礎是SSL , 因此加密的詳細內容就需要SSL 。 HTTPS協議的主要作用可以分為兩種:一種是建立一個信息安全通道 , 來保證數據傳輸的安全;另一種就是確認網站的真實性 。

https和http有什么區別是什么

文章插圖
HTTP與HTTPS有什么區別?HTTP協議傳輸的數據都是未加密的 , 也就是明文的 , 因此使用HTTP協議傳輸隱私信息非常不安全 。 為了保證這些隱私數據能加密傳輸 , 于是網景公司設計了SSL(Secure Sockets layer)協議用于對HTTP協議傳輸的數據進行加密 , 從而就誕生了HTTPS 。  HTTPS加密、加密、及驗證過程如下圖: HTTP和HTTPS的區別 簡單來說 , HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議 , 要比http協議安全 。   HTTPS和HTTP的區別主要如下: 一、https協議需要到ca申請證書 , 一般免費證書較少 , 因而需要一定費用 。  二、http是超文本傳輸協議 , 信息是明文傳輸 , https 則是具有安全性的ssl加密傳輸協議 。  三、http和https使用的是完全不同的連接方式 , 用的端口也不一樣 , 前者是80 , 后者是443 。  四、http的連接很簡單 , 是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議 , 比http協議安全 。   HTTPS解決的問題:  1、信任主機的問題 。 采用https 的server 必須從CA 申請一個用于證明服務器用途類型的證書 。   改證書只有用于對應的server 的時候 , 客戶度才信任次主機 。 所以目前所有的銀行系統網站 , 關鍵部分應用都是https 的 。 客戶通過信任該證書 , 從而信任了該主機 。 其實這樣做效率很低 , 但是銀行更側重安全 。 這一點對我們沒有任何意義 , 我們的server , 采用的證書不管自己issue 還是從公眾的地方issue , 客戶端都是自己人 , 所以我們也就肯定信任該server 。   2、通訊過程中的數據的泄密和被竄改 。   1)一般意義上的https , 就是 server 有一個證書 。   a) 主要目的是保證server 就是他聲稱的server 。 這個跟第一點一樣 。   b) 服務端和客戶端之間的所有通訊 , 都是加密的 。   i、具體講 , 是客戶端產生一個對稱的密鑰 , 通過server 的證書來交換密鑰 。 一般意義上的握手過程 。   ii、加下來所有的信息往來就都是加密的 。 第三方即使截獲 , 也沒有任何意義 。 因為他沒有密鑰 。 當然竄改也就沒有什么意義了 。   2)少許對客戶端有要求的情況下 , 會要求客戶端也必須有一個證書 。   a) 這里客戶端證書 , 其實就類似表示個人信息的時候 , 除了用戶名/密碼 , 還有一個CA 認證過的身份 。 應為個人證書一般來說上別人無法模擬的 , 所有這樣能夠更深的確認自己的身份 。   b) 目前少數個人銀行的專業版是這種做法 , 具體證書可能是拿U盤作為一個備份的載體 。 像我用的交通銀行的網上銀行就是采取的這種方式 。 HTTPS 一定是繁瑣的 。   a) 本來簡單的http協議 , 一個get一個response 。 由于https 要還密鑰和確認加密算法的需要 。 單握手就需要6/7 個往返 。   i、任何應用中 , 過多的round trip 肯定影響性能 。   b) 接下來才是具體的http協議 , 每一次響應或者請求 , 都要求客戶端和服務端對會話的內容做加密/解密 。   i、盡管對稱加密/解密效率比較高 , 可是仍然要消耗過多的CPU , 為此有專門的SSL 芯片 。 如果CPU 信能比較低的話 , 肯定會降低性能 , 從而不能serve 更多的請求 。   符:SSL的簡介:  SSL是Netscape公司所提出的安全保密協議 , 在瀏覽器(如Internet Explorer、Netscape Navigator)和Web服務器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之間構造安全通道來進行數據傳輸 , SSL運行在TCP/IP層之上、應用層之下 , 為應用程序提供加密數據通道 , 它采用了RC4、MD5 以及RSA等加密算法 , 使用40 位的密鑰 , 適用于商業信息的加密 。   同時 , Netscape公司相應開發了HTTPS協議并內置于其瀏覽器中 , HTTPS實際上就是SSL over HTTP , 它使用默認端口443 , 而不是像HTTP那樣使用端口80來和TCP/IP進行通信 。 HTTPS協議使用SSL在發送方把原始數據進行加密 , 然 后在接受方進行解密 , 加密和解密需要發送方和接受方通過交換共知的密鑰來實現 , 因此 , 所傳送的數據不容易被網絡黑客截獲和解密 。   然而 , 加密和解密過程需要耗費系統大量的開銷 , 嚴重降低機器的性能 , 相關測試數據表明使用HTTPS協議傳輸數據的工作效率只有使用HTTP協議傳輸的十 分之一 。

推薦閱讀