http和https

http和https的概念

HTTP是客戶端瀏覽器或其他程序與Web服務(wù)器之間的應(yīng)用層通信協(xié)議。在Internet上的Web服務(wù)器上存放的都是超文本信息,客戶機需要通過HTTP協(xié)議傳輸所要訪問的超文本信息。

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。

http工作流程

第一步:地址解析,從url中解析協(xié)議名稱,主機名,端口號和對應(yīng)的頁面地址。
第二步:封裝http的請求數(shù)據(jù)包:這一步主要是封裝自己的信息,比如在post請求時,我們會塞進一個data據(jù)。
第三步:封裝tcp包,建立連接:因為是基于tcp的協(xié)議,網(wǎng)絡(luò)連接是tcp來完成的,必然要封裝成tcp包,然后tcp再做自己工作,比如封裝ip包,一層層往下傳。
第四步:發(fā)送請求:數(shù)據(jù)整好了,連接也完事了,那就發(fā)送action了。
第五步:服務(wù)端響應(yīng):接受到請求,然后給出響應(yīng)。
第六步:服務(wù)端關(guān)閉tcp的連接:一次通信完成之后,若conection的設(shè)置不是keep-live的話,服務(wù)端會自動關(guān)閉tcp的連接。

https工作流程

步驟1:向服務(wù)器發(fā)起請求。
步驟2-3:取出公有密鑰及證書并發(fā)送給客戶端。
步驟4:客戶端判斷公有密鑰是否有效,無效則顯示警告。有效則生成一個隨機數(shù)串,并以此生成客戶端的共享密鑰。
步驟5:用步驟3得到的公有密鑰對該隨機數(shù)串加密,發(fā)送到服務(wù)器。
步驟6:服務(wù)器得到加密報文,用私有密鑰解密報文,得到隨機數(shù)串,并以此生成服務(wù)器端的共享密鑰。此時客戶端和服務(wù)端擁有相同的共享密鑰,可以用該共享密鑰進行安全通信。
步驟7-8:服務(wù)器對響應(yīng)進行加密,客戶端對報文進行解密。

http和https的區(qū)別
image

https協(xié)議需要到ca申請證書,一般免費證書很少,需要交費。
http是超文本傳輸協(xié)議,信息是明文傳輸。https則是具有安全性的ssl加密傳輸協(xié)議。
http和https使用的是完全不同的連接方式用的端口也不一樣。前者(http)是80,后者(https)是443。
http的連接很簡單,是無狀態(tài)的 。HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議 ,要比http協(xié)議安全。

http or https

1.通信速率降低
HTTPS 除了TCP連接,發(fā)送請求,響應(yīng)之外,還需要進行SSL通信。整體通信信息量增加。
加密過程消耗資源
3.每個報文都需要進行加密和解密的運算處理。比起HTTP會消耗更多的服務(wù)器資源。
證書開銷
4.如果想要通過HTTPS進行通信,就必須向認證機構(gòu)購買證書。

基于以上三點,如果通信中傳輸?shù)氖欠敲舾械男畔?,則會較多地選擇HTTP協(xié)議。而當通信過程中會涉及個人隱私或其他安全信息時,則會選擇用HTTPS。當然,訪問量也是考慮的因素之一,如果訪問量很大,而每個報文都進行加密解密,也會給服務(wù)器帶來很大的負擔。

http

HTTP請求方法
image
HTTP 響應(yīng)頭信息
image

eg:


image
HTTP狀態(tài)碼分類
image

image

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容