前言
每天都在上網,在搜索東西的時候,你有發現網址有什么不同嗎?本文就來談談HTTP與HTTPS有什么不同。
一、什么是HTTP?
HTTP是“HyperText Transfer Protocol”的簡稱,翻譯過來就是超文本傳輸協議是一種用于分布式、協作式和超媒體信息系統的應用層協議。 簡單來說就是一種發布和接收 HTML 頁面的協議,被用于在 Web 瀏覽器和網站服務器之間傳遞信息。
HTTP 默認工作在 TCP 協議 80 端口,用戶訪問網站 http:// 打頭的都是標準 HTTP 服務。
http的傳輸,具有簡單、靈活的特點,但缺點是使用明文傳輸,請求和響應不會對通信方進行確認、無法保護數據的完整性,傳輸內容容易被竊取。
二、什么是HTTPS?
HTTPS是“Hypertext Transfer Protocol Secure”的簡稱,翻譯過來就是超文本傳輸安全協議。它是一種透過計算機網絡進行安全通信的傳輸協議。HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包。HTTPS 開發的主要目的,是提供對網站服務器的身份認證,保護交換數據的隱私與完整性。
三、HTTPS 的工作原理
看完上面HTTPS的解釋,大家都知道了HTTPS 能夠加密信息,以免重要信息被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會采用 HTTPS 協議。
1、客戶端發起 HTTPS 請求
這個很好理解,就是用戶在瀏覽器里輸入一個 https 網址,然后連接到 server 的 443 端口。
2、服務端的配置
采用 HTTPS 協議的服務器必須要有一套數字證書,****證書可以自己制作,也可以向組織申請
_區別:_自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。
這套證書其實就是一對公鑰和私鑰,如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然后發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。
3、傳送證書
這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。
4、客戶端解析證書
這部分工作是由客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。
如果證書沒有問題,那么就生成一個隨機值,然后用證書對該隨機值進行加密,就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。
5、傳送加密信息
這部分傳送的是用證書加密后的隨機值,目的就是讓服務端得到這個隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。
6、服務端解密信息
服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內容通過該值進行對稱加密,
對稱加密:將信息和私鑰通過某種算法混合在一起。
這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密算法夠先進,私鑰夠復雜,數據就夠安全。
7、傳輸加密后的信息
這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原。
8、客戶端解密信息
客戶端用之前生成的私鑰解密服務段傳過來的信息,于是獲取了解密后的內容,整個過程第三方即使監聽到了數據,也束手無策。
四、HTTP與HTTPS的區別
1、安全性
HTTP和HTTPS是兩種不同的協議,它們之間最主要的區別在于安全性。HTTP協議以明文方式發送內容,不提供任何方式的數據加密,容易被攻擊者截取信息。
HTTPS則在TCP和HTTP網絡層之間加入了SSL/TLS安全協議,使得報文能夠加密傳輸,保證了數據的安全性。
2、端口號不同
HTTP和HTTPS使用的是完全不同的連接方式用的端口也不一樣,HTTP是80、HTTPS是443。
3、證書
HTTPS需要申請證書,而HTTP不需要,申請證書也會有一些費用。
審核編輯:劉清
-
SSL
+關注
關注
0文章
125瀏覽量
25743 -
TCP通信
+關注
關注
0文章
146瀏覽量
4223 -
HTTP接口
+關注
關注
0文章
21瀏覽量
1793 -
https
+關注
關注
0文章
52瀏覽量
6146 -
TLS
+關注
關注
0文章
44瀏覽量
4255
原文標題:你知道HTTP與HTTPS有什么區別嗎?
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論