1. 程式人生 > >HTTP與HTTPS的概念、區別,與之它們之間的關係

HTTP與HTTPS的概念、區別,與之它們之間的關係

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

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

一、HTTP和HTTPS的基本概念

  HTTP:是網際網路上應用最為廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標準(TCP),用於從WWW伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。

  HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

  HTTPS協議的主要作用可以分為兩種:一種是建立一個資訊保安通道,來保證資料傳輸的安全;另一種就是確認網站的真實性。

二、HTTP與HTTPS有什麼區別?

  HTTP協議傳輸的資料都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私資訊非常不安全,為了保證這些隱私資料能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的資料進行加密,從而就誕生了HTTPS。簡單來說,HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全。

  HTTPS和HTTP的區別主要如下:

  1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

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

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

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

三、HTTPS的工作原理

  我們都知道HTTPS能夠加密資訊,以免敏感資訊被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會採用HTTPS協議。

HTTP與HTTPS的區別-馬海祥部落格

 客戶端在使用HTTPS方式與Web伺服器通訊時有以下幾個步驟,如圖所示。

  (1)客戶使用https的URL訪問Web伺服器,要求與Web伺服器建立SSL連線。

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

  (3)客戶端的瀏覽器與Web伺服器開始協商SSL連線的安全等級,也就是資訊加密的等級。

  (4)客戶端的瀏覽器根據雙方同意的安全等級,建立會話金鑰,然後利用網站的公鑰將會話金鑰加密,並傳送給網站。

  (5)Web伺服器利用自己的私鑰解密出會話金鑰。

  (6)Web伺服器利用會話金鑰加密與客戶端之間的通訊。

  

四、HTTPS的優點

  儘管HTTPS並非絕對安全,掌握根證書的機構、掌握加密演算法的組織同樣可以進行中間人形式的攻擊,但HTTPS仍是現行架構下最安全的解決方案,主要有以下幾個好處:

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

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

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

  (4)谷歌曾在2014年8月份調整搜尋引擎演算法,並稱“比起同等HTTP網站,採用HTTPS加密的網站在搜尋結果中的排名將會更高”。

五、HTTPS的缺點

  雖然說HTTPS有很大的優勢,但其相對來說,還是存在不足之處的:

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

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

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

    (4)SSL證書通常需要繫結IP,不能在同一IP上繫結多個域名,IPv4資源不可能支撐這個消耗。

  (5)HTTPS協議的加密範圍也比較有限,在黑客攻擊、拒絕服務攻擊、伺服器劫持等方面幾乎起不到什麼作用。最關鍵的,SSL證書的信用鏈體系並不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。

六、http切換到HTTPS

  如果需要將網站從http切換到https到底該如何實現呢?

     這裡需要將頁面中所有的連結,例如js,css,圖片等等連結都由http改為https。例如:http://www.baidu.com改為https://www.baidu.com

  BTW,這裡雖然將http切換為了https,還是建議保留http。所以我們在切換的時候可以做http和https的相容,具體實現方式是,去掉頁面連結中的http頭部,這樣可以自動匹配http頭和https頭。例如:將http://www.baidu.com改為//www.baidu.com。然後當用戶從http的入口進入訪問頁面時,頁面就是http,如果使用者是從https的入口進入訪問頁面,頁面即是https的。

轉載自:https://www.cnblogs.com/wqhwe/p/5407468.html

相關推薦

HTTPHTTPS概念區別它們之間關係

        超文字傳輸協議HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞資訊,HTTP協議以明文方式傳送內容,不提供任何方式的資料加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的資訊,因此,HTTP協議不適合傳輸一些敏感資訊,比如:

HttpHttps概念區別

HTTP:是網際網路上應用最為廣泛的一種網路協議,是一個客戶端和伺服器端請求和應答的標準(TCP),用於從WWW伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。 HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版

2018-1-20:&&&的區別| || 的的區別

解密 一個數 如果 加密與解密 加密算法 進制 body 運算符 結果 區別一:運算規則 A&B:A與B都會運算,運算之後進行&運算 A&&B:如果A為假,則B不會再運算 A | B:A與B都會運算,運算之後進行 | 運算 A || B:如果

資料倉庫和資料集市的概念區別聯絡

1.為什麼會出現資料倉庫和資料集市?     “資料倉庫”的概念可以追溯到80 年代中期。從本質上講,最初資料倉庫是想為操作型系統到決策支援環境的資料流提供一種體系結構模型,並嘗試解決和這些資料流相關的各種問題。     在缺乏“資料倉庫”體系結構的情

httphttps協議的區別聯系

分隔 cli 秘鑰 指點 cnblogs mime page 足夠 驗證 一.HTTP協議   1.官方概念:     HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web

【轉載】RTL technology schematic的區別包含概念例項

下面是xilinx官網上的問答貼: The difference between RTL and technology schematic Description After XST synthesis is completed, I am able t

編譯型解釋型動態語言靜態語言強類型語言弱類型語言的區別

動態語言 動態 java語言 不同 編譯型 效率 編譯過程 .exe 檢查 (一)編譯型語言和解釋型語言   首先我們區分這樣一個概念,編譯型語言和解釋型語言。我們編程用的都是高級型語言(寫匯編和機器語言的除外),計算機只理解和運行機器語言,所以必須把高級語言翻譯成機器語言

word-wrapword-break的區別以及無效情況

OS 自動 class word-wrap 就是 con 整體 tro ace 兩種方法的區別說明: 1,word-break:break-all 例如div寬400px,它的內容就會到400px自動換行,如果該行末端有個英文單詞很長(congratulation等),它會

JVM基礎學習基本概念可見性同步

讀寫 應用 資源 而不是 檢查 依靠 完成 層次 並發 開發高性能並發應用不是一件容易的事情。這類應用的例子包括高性能Web服務器、遊戲服務器和搜索引擎爬蟲等。這樣的應用可能需要同時處理成千上萬個請求。對於這樣的應用,一般采用多線程或事件驅動的 架構 。對於Java來說,在

$(document).ready()window.onload的區別站在三個維度回答問題

內容 遇到 問題 ont body 網速 原本 element dom 1.執行時機 window.onload必須等到頁面內包括圖片的所有元素加載完畢後才能執行。 $(document).ready()是DOM結構繪制完畢後就執行,不必等到

eNSP分析OSPF分析stub區域普通區域的區別並驗證stub區域的特性

命令 pla outer 外部網絡 watermark ner 分析 比較 work 實驗目的:分析stub區域與普通區域LSA通告以及路由條目的區別思路:建立ospf區域,並註入外部路由,分析各區域的LSA以及路由信息,然後將沒有註入外部路由的普通區域設置成stub區域,

【JS】深拷貝淺拷貝的區別實現深拷貝的幾種方法

如何區分深拷貝與淺拷貝,簡單點來說,就是假設B複製了A,當修改A時,看B是否會發生變化,如果B也跟著變了,說明這是淺拷貝,拿人手短,如果B沒變,那就是深拷貝,自食其力。 此篇文章中也會簡單闡述到棧堆,基本資料型別與引用資料型別,因為這些概念能更好的讓你理解深拷貝與淺拷貝。 我們來舉個淺拷貝例

JS:export export default的區別結合import的用法

export:輸出本模組(一般一個檔案認為是一個模組)提供給外部使用的介面; import:引入其他模組,供本檔案使用,可以引用的就是export輸出的介面;   export有兩種方式:export 或者export default; 兩者的相同點與區別點如下: 1、兩者均可用於匯出常量

聯合概率聯合分佈條件概率條件分佈邊緣概率邊緣分佈貝葉斯定理生成模型(Generative Model)和判別模型(Discriminative Model)的區別

在看生成模型和判別模型之前,我們必須先了解聯合概率與聯合分佈、條件概率與條件分佈、邊緣概率與邊緣分佈、貝葉斯定理的概念。 聯合概率與聯合概率分佈: 假設有隨機變數X與Y, 此時,P(X=a,Y=b)用於表示X=a且Y=b的概率。這類包含多個條件且所有條件同時成立的概率稱為聯合概率。聯合概

onload事件ready事件的區別原生jsjquery的區別

onload事件與ready事件分別是原生js與jquery的入口函式 原生js入口函式寫法: window.onload=function(){ } jquery入口函式寫法: $(document).ready(function(){ });   二者的區別主要有:  

軟實現非對稱加解密公鑰證書公鑰值區別包含提取公約值程式碼

目前有部分未採購簽名驗籤伺服器的企業,採用軟實現做非對稱、對稱加解密,本文簡略說明一下工作過程中遇到的問題。 本交易涉及傳送方,接收方 問題背景: 對方即接收方採用的是軟實現,並且只提供了公鑰值(未經CA簽發) 我方即傳送方,採用的是硬體簽名驗籤服務。伺服器中存有我方的私鑰,

MySQL中主表副表的區別級聯操作的運用

劃重點: 1 被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的。 2 主表被參考的欄位通常都設定為主鍵 3 當有外來鍵約束的時候,新增資料的順序:先加主表,再新增副表的資料 4 當有外來鍵約束的時候,修改資料的順序:先修改副表,再修改主表的資料 5 當有外來鍵約束

死鎖活鎖的區別死鎖飢餓的區別

第一次玩屬於自己的部落格,今天在一個App上看到的,說的很好,再敲了一遍,分享一下有關於死鎖、活鎖及飢餓的概念和區別,希望大家共同進步! 死鎖:是指兩個或兩個以上的程序(或執行緒)在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,

死鎖活鎖的區別死鎖饑餓的區別

strong lock 通過 味道 進程 無法 必須 車輛 中間 第一次玩屬於自己的博客,今天在一個App上看到的,說的很好,再敲了一遍,分享一下有關於死鎖、活鎖及饑餓的概念和區別,希望大家共同進步! 死鎖:是指兩個或兩個以上的進程(或線程)在執行過程中,因爭奪資源而造成的

字元型別char字串字元陣列字元陣列資料陣列區別

字元型別是以ASCII碼值運算的:小寫字母比相應的大寫字母大32,其中A=65,a=97 Esc鍵 27(十進位制)、'\x1B'(十六進位制)、'\33'(八進位制) 轉義字元:\0 空字元\n 換行\r 回車\t 水平製表符(Tab鍵)\' 單引號\" 雙引號\\ 反斜槓 char c='M';