1. 程式人生 > >淺談 http和https

淺談 http和https

  HTTP 是 超文字協議,TCP 埠是 80
  HTTPS 是一種配合了SSL協議的、加密的HTTP 協議 ,TCP埠是 443

HTTP :

 HTTP(HyperText Transfer Protocol)協議是非常常見的網路協議,是專門用來傳輸WEB內容的,提供了釋出和接收HTML的方法,大部分網站都是通過HTTP協議來傳輸WEB頁面的(HTML、CSS、JS等)

SSL/TLS 是什麼

SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。當前版本為3.0。它已被廣泛地用於Web瀏覽器與伺服器之間的身份認證和加密資料傳輸。

SSL協議可分為兩層:

SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供資料封裝、壓縮、加密等基本功能的支援。

SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的資料傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密金鑰等 如上圖所示:SSL協議位於TCP/IP協議與各種應用層協議之間,為資料通訊提供安全支援。

SSL協議提供的安全通道有以下三個特性:

機密性:SSL協議使用金鑰加密通訊資料。

可靠性:伺服器和客戶都會被認證,客戶的認證是可選的。

完整性:SSL協議會對傳送的資料進行完整性檢查。

HTTPS 是什麼

現在來理解HTTPS(Hypertext Transfer Protocol Secure)安全超文字傳輸協議,就應該簡單明瞭了,HTTPS就是HTTP的安全版,即在HTTP下加入了SSL層

HTTP與HTTPS的區別:

一、https協議需要到ca申請證書,一般免費證書很少,需要交費。

二、http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

三、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

四、http的連線很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。