全稱是hyper(超級)text(文字)transfer(傳輸)protocol(協議)secure(安全),即超文字傳輸協議安全;
http則少了乙個secure,從命名就看出來差別了;
http協議,光明正大,裸著送快遞,不怕你們偷看。
http協議以明文方式被用於在web瀏覽器和**伺服器之間傳遞資訊,不提供任何方式的資料加密,如果攻擊者擷取了二者之間的傳輸報文,就可以直接讀懂其中的資訊,因此,http協議不適合傳輸一些敏感資訊,比如:信用卡號、密碼等支付資訊。
ssl(secure sockets layer 安全套接層),及其繼任者傳輸層安全(transport layer security,tls)是為網路通訊提供安全及資料完整性的一種安全協議。tls與ssl在傳輸層對網路連線進行加密。
ssl提高的服務有:
網景公司設計了ssl(secure sockets layer)協議用於對http協議傳輸的資料進行加密,從而就誕生了https。
http與https的區別:
http的url 以http:// 開頭,而https 的url 以https:// 開頭
是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
http標準埠是80 ,而 https 的標準埠是443
在osi網路模型中,http工作於應用層,而https 的安全傳輸機制工作在傳輸
http無需證書,而https 需要ca機構wosign的頒發的ssl證書
具體的大家可以去看這篇
這個沒什麼好說的,就是使用者在瀏覽器裡輸入乙個https**,然後連線到server的443端
採用https協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。這套證書其實就是一對公鑰和私鑰。如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和乙個鎖頭,只是全世界只有你乙個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後發給你,因為只有你乙個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。
這個證書其實就是公鑰,只是包含了很多資訊,如證書的頒發機構,過期時間等等。
這部分工作是有客戶端的tls來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出乙個警告框,提示證書存在問題。如果證書沒有問題,那麼就生成乙個隨即值。然後用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。
這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通訊就可以通過這個隨機值來進行加密解密了。
服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密。所謂對稱加密就是,將資訊和私鑰通過某種演算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠複雜,資料就夠安全。
這部分資訊是服務段用私鑰加密後的資訊,可以在客戶端被還原
客戶端用之前生成的私鑰解密服務段傳過來的資訊,於是獲取了解密後的內容。整個過程第三方即使監聽到了資料,也束手無策。
HTTPS和HTTP的區別
https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...
HTTPS和HTTP的區別
https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...
http和https的區別
在url前加https 字首表明是用ssl加密的。你的電腦與伺服器之間收發的資訊傳輸將更加安全。web伺服器啟用ssl需要獲得乙個伺服器證書並將該證書與要使用ssl的伺服器繫結。http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。http的連線很簡單,是無狀態的...