首頁  >  文章  >  後端開發  >  Http和Https的差別詳解

Http和Https的差別詳解

小云云
小云云原創
2018-03-15 10:58:461579瀏覽


  • 超文本傳輸協定HTTP協定被用於在網頁瀏覽器和網站伺服器之間傳遞訊息,HTTP協定以明文方式發送內容,不提供任何方式的資料加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協定不適合傳輸一些敏感訊息,例如:信用卡號、密碼等支付資訊。

  • HTTP協定傳輸的資料都是未加密的,也就是明文的,因此使用HTTP協定傳輸隱私資訊非常不安全,為了確保這些隱私資料能加密傳輸,於是網景公司設計了SSL(安全通訊端層)協定用於對HTTP協定傳輸的資料進行加密,因此誕生了HTTPS。

  • 為了解決HTTP協定的這個缺陷,需要使用另一種協定:安全通訊端層超文本傳輸協定HTTPS,為了資料傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。


基本概念:

HTTP:是互聯網上應用最廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標準(TCP),用於從WWW伺服器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。
 HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,也就是HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。


HTTPS協定的主要作用

加密傳輸;
 身份認證。


區別

1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
 2、http是超文本傳輸協議,訊息是明文傳輸,https則是具有安全性的ssl加密傳輸協定。
 3、http和https使用的是完全不同的連接方式,用的連接埠也不一樣,前者是80,後者是443。
 4、http的連線很簡單,是無狀態的;HTTPS協定是由SSL+HTTP協定建構的可進行加密傳輸、認證的安全通道,比http協定安全。


HTTPS的工作原理

  1. 客戶使用https的URL存取Web伺服器,要求與Web伺服器建立SSL連線。

  2. Web伺服器收到客戶端請求後,會將網站的憑證資訊(憑證中包含公鑰)傳送一份給客戶端。

  3. 用戶端隨機建立會話金鑰,然後利用網站的公鑰將會話金鑰加密,並傳送給網站。

  4. Web伺服器利用公鑰解密取得會話金鑰。

  5. web伺服器和瀏覽器透過會話密鑰的加密解密資料進行通訊

  6. 如圖:
    Http和Https的差別詳解



#HTTPS的優點

  1. 使用HTTPS協定可認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器;

  2. HTTPS協定是由SSL+HTTP協定建構的可進行加密傳輸、身分認證的網路協議,要比http協定安全,可防止資料在傳輸過程中不被竊取、改變,確保資料的完整性。

  3. HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。

  4. Google曾在2014年8月份調整搜尋引擎演算法,並表示「比起同等HTTP網站,採用HTTPS加密的網站在搜尋結果中的排名將會更高」。


HTTPS的缺點

  1. #HTTPS協定握手階段比較費時,會使頁面的載入時間延長近50%,增加10 %到20%的耗電;

  2. HTTPS連線快取不如HTTP高效,會增加資料開銷和功耗,甚至已有的安全措施也會因此而受到影響;

SSL憑證需要錢,功能越強大的憑證費用越高,個人網站、小網站沒有必要一般不會用。

#########SSL憑證通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。 ###############http切換到HTTPS############這裡需要將頁面中所有的鏈接,例如js,css,圖片等等連結都由http改為https。 ############我們在切換的時候可以做http和https的相容,具體實作方式是,去掉頁面連結中的http頭部,這樣可以自動搭配http頭和https頭。例如:將http://www.baidu.com改為//www.baidu.com。接著當使用者從http的入口進入造訪頁面時,頁面就是http,如果使用者是從https的入口進入存取頁面,頁面即使https的############相關推薦:###

PHP之Http請求http 500 http與https的區別http 192.168.1.1

HTTP與HTTPS跨域共享session解決方案

#PHP簡單實作HTTP和HTTPS跨域共享session解決方案

以上是Http和Https的差別詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn