最近http協議,https協議,ssl協議,數字簽名這些老是在眼前跳,但是很多都忘記了,重溫了一把,總結一下
1.http協議
http協議是超文字傳輸協議,埠為80,屬於應用層協議,由請求和響應構成,永遠都是客戶端傳送請求,服務端回送響應。這樣就限制了使用http協議無法實現在客戶端沒有發起請求的時候,服務端把訊息推送給客戶端。
http協議的動作過程:
http/1.0每次請求都需要建立新的tcp連線,連線不能復用。http/1.1新的請求可以在上次請求建立的tcp連線之上傳送資料,連線可以復用,可以減少重複進行tcp三次握手的開銷,提高效率。在同乙個tcp連線中新的請求需要等上次請求收到響應之後,才能傳送。
http請求由三部分組成:請求行,訊息報頭,請求正文
http響應由三部分組成:狀態行,訊息報文,響應正文
常用的請求方式:get用於獲取資料,post一般用於將資料傳送給伺服器,常用於提交表單。
2.https協議
https協議是基於安全套接字的超文字傳輸協議,埠為443,也是應用層協議。
https協議=http協議+ssl協議。
和http協議相比可以解決信任主機問題和資料安全問題。而這兩點都是靠ssl協議完成的,下邊會對ssl協議進行詳解。在說ssl協議之前得普及乙個已經普及了但是容易忘記的東西,加密。
3.對稱加密和非對稱加密
對稱加密演算法:加解密的秘鑰是一樣的,優點是演算法公開計算量小,加密速度快,加密效率高。缺點是安全性不高,每對使用者都需要唯一的秘鑰,秘鑰管理負擔大,廣泛使用的對稱加密演算法有:des,idea,aes.
非對稱加密演算法:加解密秘鑰不一樣,公鑰可以公開,私鑰自己保留,優點是安全性高,可以用來做認證,和其他使用者交流自己只用一套公鑰和私鑰,秘鑰管理簡單。缺點是加密花費時間長,速度慢,廣泛使用的非對稱加密演算法有:rsa,des。
hash演算法(摘要演算法)常用在不可還原的密碼儲存,資訊完整性校驗,常用的hash演算法有md2,md4,md5,sha
4.ssl協議
ssl協議可以實現加密和認證,過程大致如下所示:(可以實現客戶端和服務端雙向認證,但是這裡只認證服務端)
5.http協議和https協議的區別
首先是埠號不一樣乙個是80乙個是443,http://和https://的區別,https用到數字證書需要錢。。。,http簡單快速,https複雜但是安全,http和http+ssl的區別,乙個傳輸明文且無法認證,乙個傳輸密文並且可以認證。
6.附加贈送數字簽名
這裡說的是對簽名內容有保密機制的數字簽名。
傳送方(乙個加密簽名內容的對稱秘鑰,接收方的公鑰,自己的私鑰):
使用對稱秘鑰對簽名內容加密得到密文。
使用接收方的公鑰加密對稱秘鑰,並將它附在1中得到的密文中。
使用hash演算法得到2中密文的報文摘要,再用自己的私鑰加密該摘要形成數字簽名。
把2和3中得到的密文通過網路傳送給接收方。
接收方(自己的私鑰,傳送方的公鑰)
使用傳送方的公鑰對數字簽名解密得到乙個報文摘要。
使用相同的摘要演算法,從接收到的報文密文中計算出乙個報文摘要。
如果兩個摘要一致的話說明密文沒有被篡改,傳送方的簽名匹配。
使用自己的私鑰解密出對稱秘鑰。
使用對稱秘鑰解密出簽名內容。
HTTP協議和HTTPS協議
http 超文字傳輸協議 是乙個簡單的請求 響應協議,它通常基於tcp之上 http請求中的常用訊息頭 乙個http響應代表伺服器向客戶端回送的資料,它包括 乙個狀態頭 若干個訊息頭 以及實體內容 1 建立tcp ip連線,客戶端與伺服器通過socket三次握手進行連線 2 客戶端向服務端發起htt...
HTTP協議和HTTPS協議
在我們去訪問乙個 的時候我們可以觀察位址的url,舉例 這是乙個https協議。可以觀察下前面的鎖符號。觀察到的資訊可以看初https給我們提供了訪問資料的安全性。而對於http協議我們可以去了解一下。http協議是一種基於文字的傳輸協議,位於網路模型的應用層。http協議通過伺服器和客戶端的應答請...
HTTP協議和HTTPS協議
持續性連線 長連線 傳送請求之後一段時間裡獲得持續連線,之後的請求可以通過該鏈結持續傳送,並且不侷限於同一頁面,只要是對同一伺服器請求即可。1.1預設流水線 管道 方式 在收到響應報文之前,可以持續傳送請求報文,這樣所有的請求只用乙個rtt。post不支援流水線,如重新整理頁面就會被提示重定向。ge...