Python培訓教程:HTTP與HTTPS有什么區(qū)別和聯系?簡單來說,HTTPS就是HTTP的加強版,這樣子是不是好理解多了?當然啦,仔細分析下來,HTTP與HTTPS的區(qū)別和聯系不止于此,下面是詳細分析。
Python培訓教程:HTTP與HTTPS有什么區(qū)別和聯系?
一、基本概念
1、HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應用層協(xié)議。簡單來說就是一種發(fā)布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網站服務器之間傳遞信息。
HTTP默認工作在 TCP 協(xié)議 80 端口,用戶訪問網站http://打頭的都是標準 HTTP 服務。
HTTP協(xié)議以明文方式發(fā)送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。
2、HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過計算機網絡進行安全通信的傳輸協(xié)議。HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包。HTTPS 開發(fā)的主要目的,是提供對網站服務器的身份認證,保護交換數據的隱私與完整性。
HTTPS默認工作在 TCP 協(xié)議443端口,它的工作流程一般如以下方式:
1、TCP 三次同步握手
2、客戶端驗證服務器數字證書
3、DH 算法協(xié)商對稱加密算法的密鑰、hash 算法的密鑰
4、SSL 安全加密隧道協(xié)商完成
5、網頁以加密的方式傳輸,用協(xié)商的對稱加密算法和密鑰加密,保證數據機密性;用協(xié)商的hash算法進行數據完整性保護,保證數據不被篡改。
二、HTTP和HTTPS的聯系:
一般情況,HTTP 和 HTTPS 是相同的,因為采用的基礎協(xié)議一樣。作為 HTTP 或 HTTPS瀏覽器,設立連接到 Web 服務器指定的端口,當服務器接收到請求,通過資源定位器 URI 模式,資源可以被唯一指定,此時便返回一個狀態(tài)碼以及響應消息,這個響應消息可能是用戶需要的信息信息、也有可能是指示某個錯誤信息(由http協(xié)議狀態(tài)碼得到某種 )。
三、HTTP與HTTPS 區(qū)別
HTTP明文傳輸,數據都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數據傳輸過程是加密的,安全性較好。
使用 HTTPS 協(xié)議需要到 CA(Certificate Authority,數字證書認證機構) 申請證書,一般免費證書較少,因而需要一定費用。證書頒發(fā)機構如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP頁面響應速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和服務器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包。
HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。
HTTPS其實就是建構在 SSL/TLS 之上的 HTTP 協(xié)議,所以,要比較HTTPS比HTTP要更耗費服務器資源。
如果您對Python技術非常感興趣,可以來了解一下千鋒教育提供的Python培訓課程,大家也可以先點擊咨詢按鈕來獲取我們的Python課程免費試聽資格,在試聽中可以更加深入的了解我們千鋒教育。