HTTPS和HTTP的區別

2021-08-13 19:48:14 字數 2337 閱讀 3996

https(secure hypertext transfer protocol)安全超文字傳輸協議

它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層(ssl)進行資訊交換,簡單來說它是http的安全版。 

它是由netscape開發並內置於其瀏覽器中,用於對資料進行壓縮和解壓操作,並返回網路上傳送回的結果。https實際上應用了netscape的安全全套接字層(ssl)作為http應用層的子層。(https使用埠443,而不是象http那樣使用埠80來和tcp/ip進行通訊。)ssl使用40 位關鍵字作為rc4流加密演算法,這對於商業資訊的加密是合適的。https和ssl支援使用x.509數字認證,如果需要的話使用者可以確認傳送者是誰。

http 和 https 的相同點:

大多數情況下,http 和 https 是相同的,因為都是採用同乙個基礎的協議,作為 http 或 https 客戶端——瀏覽器,設立乙個連線到 web 伺服器指定的埠。當伺服器接收到請求,它會返回乙個狀態碼以及訊息,這個回應可能是請求資訊、或者指示某個錯誤傳送的錯誤資訊。系統使用統一資源定位器 uri 模式,因此資源可以被唯一指定。而 https 和 http 唯一不同的只是乙個協議頭(https)的說明,其他都是一樣的。

http 和 https 的不同之處:

1. http 的 url 以 http:// 開頭,而 https 的 url 以 https:// 開頭

2. http 是不安全的 資訊是明文傳輸,而 https 是安全的 具有安全性的ssl加密傳輸

3. http 標準埠是 80 ,而 https 的標準埠是 443

4. 在 osi 網路模型中,http 工作於應用層,而 https 工作在傳輸層

5. http 無需加密,而 https 對傳輸的資料進行加密

6. http 無需證書,而 https 需要認證證書

http的連線很簡單,是無狀態的

https 如何工作?

使用 https 連線時,伺服器要求有公鑰和簽名的證書。

當使用 https 連線,伺服器響應初始連線,並提供它所支援的加密方法。作為回應,客戶端選擇乙個連線方法,並且客戶端和伺服器端交換證書驗證彼此身份。完成之後,在確保使用相同金鑰的情況下傳輸加密資訊,然後關閉連線。為了提供 https 連線支援,伺服器必須有乙個公鑰證書,該證書包含經過證書機構認證的金鑰資訊,大部分證書都是通過第三方機構授權的,以保證證書是安全的。

換句話說,https 跟 http 一樣,只不過增加了 ssl。

http 包含如下動作:

1. 瀏覽器開啟乙個 tcp 連線

2. 瀏覽器傳送 http 請求到伺服器端

3. 伺服器傳送 http 回應資訊到瀏覽器

4. tcp 連線關閉

ssl 包含如下動作:

1. 驗證伺服器端

2. 允許客戶端和伺服器端選擇加密演算法和密碼,確保雙方都支援

3. 驗證客戶端(可選)

4. 使用公鑰加密技術來生成共享加密資料

5. 建立乙個加密的 ssl 連線

6. 基於該 ssl 連線傳遞 http 請求

什麼時候該使用 https?

銀行**、支付閘道器、購物**、登入頁、電子郵件以及一些企業部門的**應該使用 https,例如:

paypal:

google adsense:

如果某個**要求你填寫信用卡資訊,首先你要檢查該網頁是否使用 https 加密連線,如果沒有,那麼請不要輸入任何敏感資訊如信用卡號。

瀏覽器整合

多數瀏覽器在收到乙個無效證書的時候都會顯示警告資訊,而一些老的瀏覽器會彈出對話方塊讓使用者選擇是否繼續瀏覽。新的瀏覽器一般在整個視窗顯示橫幅的警告資訊,同時在位址列上顯示該**的安全資訊。如果**中包含加密和非加密的混合內容,多數瀏覽器會提示警告資訊。

https解決的問題: 

少許對客戶端有要求的情況下,會要求客戶端也必須有乙個證書,這裡客戶端證書,其實就類似表示個人資訊的時候,除了使用者名稱/密碼, 還有乙個ca 認證過的身份. 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份,前少數個人銀行的專業版是這種做法,具體證書可能是拿u盤作為乙個備份的載體. 

https 一定是繁瑣的,本來簡單的http協議,乙個get乙個response. 由於https 要還金鑰和確認加密演算法的需要.單握手就需要6/7 個往返,任何應用中,過多的round trip 肯定影響效能,接下來才是具體的http協議,每一次響應或者請求, 都要求客戶端和服務端對會話的內容做加密/解密,儘管對稱加密/解密效率比較高,可是仍然要消耗過多的cpu,為此有專門的ssl 晶元. 如果cpu 信能比較低的話,肯定會降低效能,從而不能serve 更多的請求,加密後資料量的影響. 所以,才會出現那麼多的安全認證提示

引用:

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的連線很簡單,是無狀態的...