1. 程式人生 > >面試常考點:http和https的區別與聯絡

面試常考點:http和https的區別與聯絡

感謝原作者,本文轉載自http://www.mahaixiang.cn/internet/1233.html

超文字傳輸協議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協議。

1、客戶端發起HTTPS請求

這個沒什麼好說的,就是使用者在瀏覽器裡輸入一個https網址,然後連線到server的443埠。

2、服務端的配置

採用HTTPS協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請,區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。

這套證書其實就是一對公鑰和私鑰,如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。

3、傳送證書

這個證書其實就是公鑰,只是包含了很多資訊,如證書的頒發機構,過期時間等等。

4、客戶端解析證書

這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。

如果證書沒有問題,那麼就生成一個隨機值,然後用證書對該隨機值進行加密,就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。

5、傳送加密資訊

這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通訊就可以通過這個隨機值來進行加密解密了。

6、服務段解密資訊

服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密,所謂對稱加密就是,將資訊和私鑰通過某種演算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠複雜,資料就夠安全。

7、傳輸加密後的資訊

這部分資訊是服務段用私鑰加密後的資訊,可以在客戶端被還原。

8、客戶端解密資訊

客戶端用之前生成的私鑰解密服務段傳過來的資訊,於是獲取瞭解密後的內容,整個過程第三方即使監聽到了資料,也束手無策。

六、HTTPS的優點

正是由於HTTPS非常的安全,攻擊者無法從中找到下手的地方,從站長的角度來說,HTTPS的優點有以下2點:

1、SEO方面

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

2、安全性

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

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

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

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

七、HTTPS的缺點

雖然說HTTPS有很大的優勢,但其相對來說,還是有些不足之處的,具體來說,有以下2點:

1、SEO方面

據ACM CoNEXT資料顯示,使用HTTPS協議會使頁面的載入時間延長近50%,增加10%到20%的耗電,此外,HTTPS協議還會影響快取,增加資料開銷和功耗,甚至已有安全措施也會受到影響也會因此而受到影響。

而且HTTPS協議的加密範圍也比較有限,在黑客攻擊、拒絕服務攻擊、伺服器劫持等方面幾乎起不到什麼作用。

最關鍵的,SSL證書的信用鏈體系並不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。

2、經濟方面

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

(2)、SSL證書通常需要繫結IP,不能在同一IP上繫結多個域名,IPv4資源不可能支撐這個消耗(SSL有擴充套件可以部分解決這個問題,但是比較麻煩,而且要求瀏覽器、作業系統支援,Windows XP就不支援這個擴充套件,考慮到XP的裝機量,這個特性幾乎沒用)。

(3)、HTTPS連線快取不如HTTP高效,大流量網站如非必要也不會採用,流量成本太高。

(4)、HTTPS連線伺服器端資源佔用高很多,支援訪客稍多的網站需要投入更大的成本,如果全部採用HTTPS,基於大部分計算資源閒置的假設的VPS的平均成本會上去。

(5)、HTTPS協議握手階段比較費時,對網站的相應速度有負面影響,如非必要,沒有理由犧牲使用者體驗。

相關推薦

面試考點httphttps區別聯系

vps sock 選擇 請求 網站 國家 報文 體系 soc 超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,

面試考點httphttps區別聯絡

感謝原作者,本文轉載自http://www.mahaixiang.cn/internet/1233.html 超文字傳輸協議HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞資訊,HTTP協議以明文方式傳送內容,不提供任何方式的資料加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,

python-is == 的區別

id:在記憶體中儲存的位置 type:變數的型別 value:變數的值 == :type,value is:type,value,id 結論: is 表示兩個變數的值是否在同一塊記憶體空間 == 表示的是值是否相等 總結: is 返回的值是True ==返回的一定是true

HTTPHTTPS區別

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

httphttps區別及概念

狀態 tps 聯網 不同的 客戶端 就是 申請 服務 服務器端 HTTP:是互聯網上的應用廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。 HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,既HTTP

計算機網絡(十一),HTTPHTTPS區別

style soc tps 計算機 ssl security sockets 宋體 mil 目錄 1.SSL(Security Sockets Layer,安全套接層) 2.加密方式 3.HTTPS數據傳輸流程 4.HTTP和HTTPS的區別 5.HTTP真的很安全嗎 十一

Filter、ServletListener區別聯絡

1. Servlet 可以用來建立並返回一個包含基於客戶請求性質的動態內容的完整的html頁面;可以建立可嵌入到現有的html頁面中的一部分html頁面(html片段);可以讀取客戶端發來的隱藏資料;可以 讀取客戶端發來的顯示資料;可以與其他伺服器資源(包括資料庫和jav

httphttps區別

區別 協議 ssl 需要 證書 安全 都是 數據 握手 下面說說它們的區別:   https是在http下加了ssl層,起到了更安全的作用,以靠證書來難服務器的身份     需要ca認證,要收費的     端口不一樣,https 是443     由於中間的握手所以比較耗時

HTTPHTTPS有什麽區別? 什麽是SSL證書?使用ssl證書優勢?

toc 蘋果 tle 同時 cert 信任 證書私鑰 服務 技術 什麽是SSL? SSL是指安全套接層協議(以及傳輸層協議TLS),位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持,是目前使用最廣泛的安全協議。它為互聯網或內部網絡連接,進行操作的兩臺機器

詳解httphttps的作用區別

就是 免費證書 構建 難題 原理 過程 完全 mod 支持 PS: https就是http和TCP之間有一層SSL層,這一層的實際作用是防止釣魚和加密。防止釣魚通過網站的證書,網站必須有CA證書,證書類似於一個解密的簽名。另外是加密,加密需要一個密鑰交換算法,雙方通過交換後

HttpHttps區別--筆記

font ddd 被黑 做到 lee spa int 專業 緊急 學習鏈接: 知乎:https://www.zhihu.com/question/19577317 法號桑菜 https比http安全,是超文本傳輸協議安全,比http多了一個由TLS(SSL)提供的

httphttps區別聯系

如圖所示 即使 谷歌 階段 組織 http協議 兼容 sockets TP   超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就

http https 有何區別

HTTP與HTTPShttp是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80,後者是443。http的連接很簡單,是無狀態的HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議要

httphttps詳解以及其區別

開門見山:https=http+ssl SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。 說白了,

httphttps協議的區別聯系

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

【web基礎】深入理解httphttps區別

在對比這兩者的區別之前咱們先來看一下http有哪些缺點 第一個缺點:http通訊使用明文可能會被竊聽。由於http本身不具備加密的功能,所以也無法做到對通訊整體(使用http協議通訊的請求和響應)的加密。也就是說http的報文使用的是明文傳送。 為什麼通訊不加密

httphttps區別

1.證書:https需要的是申請證書,一般就是收費的 2. 協議:http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。 3. 埠號:http埠是80,https埠是443 4. 安全性:http連線是無狀態的,https

前端面試總結 -- 網路基礎之 HTTP HTTPS

基本概念 HTTP:超文字傳輸協議(英文:HyperText Transfer Protocol,縮寫:HTTP)是一種用於分散式、協作式和超媒體資訊系統的應用層協議[1]。HTTP是全球資訊網的資料通訊的基礎。設計HTTP最初的目的是為了提供一種釋出和接收

CHttpDownload中httphttps區別

http和https的區別 http概念(超文字傳輸協議)被用於在Web瀏覽器和網站伺服器之間,以明文方式傳遞資訊,不提供任何方式的資料加密,因此使用HTTP協議傳輸隱私資訊非常不安全。 https概念(安全套接字層超文字傳輸協議)在HTTP的基礎上加入了SSL協議,SS

Java面試--HTTPHTTPS協議

面試題:對HTTP協議瞭解多少,HTTP和HTTPS有什麼區別,HTTPS的安全性是怎麼實現的(阿里面試題) 面試題:http解釋一下(順豐面試題) 一、HTTP簡介 HTTP協議是H