首先,這兩個協議是工作以後遇到和用過最多的協議,必須搞懂搞明白。咱們來看看他們的基本定義。
http協議
http: 超文字傳輸協議(英語:hypertext transfer protocol,縮寫:http)是一種用於分布式、協作式和超**資訊系統的應用層協議
[1]。http是全球資訊網的資料通訊的基礎。
最初設計目的:為了提供一種發布和接受html頁面的方法。
基於協議:tcp/ip協議。
連線過程:由http客戶端發起乙個請求,建立乙個到伺服器指定埠(預設是80埠)的tcp連線。http伺服器監聽埠的請求。一旦收到請求,伺服器會向客戶端返回乙個狀態,比如"http/1.1 200 ok",以及返回的內容,如請求的檔案、錯誤訊息、或者其它資訊。
客戶端請求:
1.1host: www.google.com伺服器應答:
connection: keep-alivehttp缺點:資訊都是明文傳輸。很不安全,容易半路被截獲。
https誕生了。
https協議 = http + ssl
雖然很多人都知道,但是還是要把基本定義大概說一下,便於理解。大神可自動跳過此文章。?
https:超文字傳輸安全協議(英語:hypertext transfer protocol secure,縮寫:https;常稱為http over tls、http over ssl或http secure)是一種通過計算機網路進行安全通訊的傳輸協議。
設計目的:提供對**伺服器的身份認證,加密資料傳輸。其實就是防止**冒充官方**,防止你登入**的隱私被小人**。
預設埠號:443
?講解下ssl的原理
重要加密演算法
:不對稱加密,也就是rsa。
假定:客戶端是a,伺服器是b,公鑰是m,私鑰是p。
具體工作流程如下:
客戶端訪問瀏覽器,建立與伺服器b的連線,連線到預設埠443上。
伺服器b將第一步申請ca得到的數字證書cer傳送給客戶端a。a通過第2步得到的ca的數字證書裡的公鑰解密cer,如果成功解密,那a就認為的確是伺服器b發過來的。此時也得到了伺服器b的公鑰。
接下來他們的對話就安全了。客戶端a用第3步得到的公鑰加密一段隨機資訊aes-key也就是金鑰,然後傳送到b。b收到之後用私鑰解密,解密後的資料就是接下來對話的金鑰aes-key。比如我們用aes演算法。
客戶端a請求資料,請求之前用金鑰aes-key通過aes演算法加密請求資訊,然後傳送給b。
b收到後用第4步收到的aes-key解密資訊。讀取後返回響應資訊。
之後的對話和4,5,6,類似。
有人會問:為什麼不乙隻用rsa演算法呢,因為rsa加密雖然更安全,但是加密速度太慢,對於大資料量互動的情況不太適合,所以一般只用於金鑰的傳輸。真正的對話還是要用對稱加密,比如aes。
https ssl 加密原理
ssl是乙個安全協議,它提供使用 tcp ip 的通訊應用程式間的隱私與完整性。網際網路的 超文字傳輸協議 http 使用 ssl 來實現安全的通訊。在客戶端與伺服器間傳輸的資料是通過使用對稱演算法 如 des 或 rc4 進行加密的。公用金鑰演算法 通常為 rsa 是用來獲得加密金鑰交換和數字簽名...
HTTPS SSL配置的步驟以及原理說明
說在前面 1.單向認證,就是傳輸的資料加密過了,但是不會校驗客戶端的 2.雙向認證,如果客戶端瀏覽器沒有匯入客戶端證書,是訪問不了web系統的,找不到位址,想要用系統的人沒有證書就訪問不了系統https概念 https概念 1 簡介 2 https和http的區別 a.https協議需要到ca申請證...
HTTPS SSL 中間人劫持攻擊原理
中間人攻擊 man in the middle attack,mitm 就是通過攔截正常的網路通訊資料,並進行資料篡改和嗅探,而通訊的雙方卻毫不知情。假設愛麗絲 alice 希望與鮑伯 bob 通訊。同時,馬洛裡 mallory 希望攔截竊會話以進行竊聽並可能在某些時候傳送給鮑伯乙個虛假的訊息。首先...