HTTPS和HTTP的區別

2021-08-10 14:46:17 字數 1790 閱讀 7987

超文字傳輸協議http被用於在web瀏覽器和**伺服器之間傳遞資訊。http協議以明文方式傳送內容,不提供任何方式的資料加密,如果攻擊者擷取了web瀏覽器和**伺服器之間的傳輸報文,就可以直接讀懂其中的資訊,因此http協議不適合傳輸一些敏感資訊,比如信用卡號、密碼等。

為了解決http協議的這一缺陷,需要使用另一種協議:安全套接字層超文字傳輸協議https。為了資料傳輸的安全,https在http的基礎上加入了ssl協議,ssl依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。

https和http的區別主要為以下四點:

https協議需要到ca申請證書,一般免費證書很少,需要交費。

http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

關於網路介面的呼叫這裡不再過多說明,因為一般介面都會有詳細的文件,比如:請求方式get/post、引數格式、返回型別等。

為了安全起見,都會對敏感資料進行加密,而最常用的基本都是md5。

qstring md5(const qstring &text)

進行ssl認證、設定傳輸的引數、設定訊息頭、開始請求、處理返回結果。

loginnetworkmanager::loginnetworkmanager(qobject *parent)

: qnetworkaccessmanager(parent)

// 結束請求

loginnetworkmanager::~loginnetworkmanager()

}// 設定登入資料

void loginnetworkmanager::setparams(const qstring &username, const qstring &password)

void loginnetworkmanager::execute()

// 響應結束

void loginnetworkmanager::replyfinished(qnetworkreply *reply)

}if (object.contains("code"))}}

}// 傳送結果資料

if (!struserid.isempty())

else

}

loginnetworkmanager *ploginnetworkmanager = new loginnetworkmanager(this);

connect(ploginnetworkmanager, signal(onsuccess(const qstring &)), this, slot(onsuccess(const qstring &)));

connect(ploginnetworkmanager, signal(onfail(int)), this, slot(onfail(int)));

// 設定引數

ploginnetworkmanager->setparams("test", "123456");

ploginnetworkmanager->execute();

一般來說常用的返回格式為json、xml,當然也可以用特定格式的字串,但大多數都是json較多。

得到結果後,我們就可以對返回的json進行解析,然後處理!

正確: 

「」錯誤: 

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