日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HTTP协议简介,数据安全 如何保证http传输安全性,http与https区别

發(fā)布時(shí)間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP协议简介,数据安全 如何保证http传输安全性,http与https区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目前大多數(shù)網(wǎng)站和app的接口都是采用http協(xié)議,但是http協(xié)議很容易就通過(guò)抓包工具監(jiān)聽(tīng)到內(nèi)容,甚至可以篡改內(nèi)容,為了保證數(shù)據(jù)不被別人看到和修改,可以通過(guò)以下幾個(gè)方面避免。

重要的數(shù)據(jù),要加密,比如用戶(hù)名密碼,我們需要加密,這樣即使被抓包監(jiān)聽(tīng),他們也不知道原始數(shù)據(jù)是什么(如果簡(jiǎn)單的md5,是可以暴力破解),所以加密方法越復(fù)雜越安全,根據(jù)需要,常見(jiàn)的是 md5(不可逆),aes(可逆),自由組合吧,你還可以加一些特殊字符啊,沒(méi)有做不到只有想不到, 舉例:username = aes(username), pwd = MD5(pwd + username);。。。。。

非重要數(shù)據(jù),要簽名,簽名的目的是為了防止篡改,比如http://www.xxx.com/getnews?id=1,獲取id為1的新聞,如果不簽名那么通過(guò)id=2,就可以獲取2的內(nèi)容等等。怎樣簽名呢?通常使用sign,比如原鏈接請(qǐng)求的時(shí)候加一個(gè)sign參數(shù),sign=md5(id=1),服務(wù)器接受到請(qǐng)求,驗(yàn)證sign是否等于md5(id=1),如果等于說(shuō)明正常請(qǐng)求。這會(huì)有個(gè)弊端,假如規(guī)則被發(fā)現(xiàn),那么就會(huì)被偽造,所以適當(dāng)復(fù)雜一些,還是能夠提高安全性的。

登錄態(tài)怎么做,http是無(wú)狀態(tài)的,也就是服務(wù)器沒(méi)法自己判斷兩個(gè)請(qǐng)求是否有聯(lián)系,那么登錄之后,以后的接口怎么判定是否登錄呢,簡(jiǎn)單的做法,在數(shù)據(jù)庫(kù)中存一個(gè)token字段(名字隨意),當(dāng)用戶(hù)調(diào)用登陸接口成功的時(shí)候,就將該字段設(shè)一個(gè)值,(比如aes(過(guò)期時(shí)間)),同時(shí)返回給前端,以后每次前端請(qǐng)求帶上該值,服務(wù)器首先校驗(yàn)是否過(guò)期,其次校驗(yàn)是否正確,不通過(guò)就讓其登陸。(redis 做這個(gè)很方便哦,key有過(guò)期時(shí)間)

?

aes:https://blog.csdn.net/qq_28205153/article/details/55798628

2、http與https區(qū)別

區(qū)別:
1、加密:http協(xié)議對(duì)傳輸?shù)臄?shù)據(jù)不進(jìn)行加密;https協(xié)議對(duì)傳輸?shù)臄?shù)據(jù)使用SSL安全協(xié)議進(jìn)行加密,https加密需要CA簽發(fā)的證書(shū)。?
2、端口:http協(xié)議使用TCP的80端口;https協(xié)議使用TCP的443端口?
3、網(wǎng)絡(luò)分層模型:http可以明確是位于應(yīng)用層;https是在http的基礎(chǔ)上加上了SSL安全協(xié)議,而SSL是運(yùn)輸層協(xié)議,所以https是應(yīng)用層和傳輸層的結(jié)合(我不同意網(wǎng)上將https粗暴地歸為運(yùn)輸層的說(shuō)法)

https如何保障安全
https使用SSL安全協(xié)議來(lái)保障安全性。具體體現(xiàn)在密鑰和證書(shū)驗(yàn)證上。?
密鑰:?
1、服務(wù)端生成一對(duì)公鑰和私鑰,將公鑰和證書(shū)發(fā)送給客戶(hù)端;?
2、客戶(hù)端驗(yàn)證證書(shū)通過(guò)后生成一個(gè)對(duì)稱(chēng)加密的密鑰,并使用服務(wù)器生成的公鑰加密,發(fā)送給服務(wù)器;?
3、服務(wù)器使用私鑰解密獲得對(duì)稱(chēng)加密密鑰。?
4、客戶(hù)端和服務(wù)器相互發(fā)送消息認(rèn)可對(duì)稱(chēng)加密密鑰,至此加密通道建立。?
5、開(kāi)始數(shù)據(jù)傳輸,在檢驗(yàn)數(shù)據(jù)完整性的基礎(chǔ)上,使用對(duì)稱(chēng)加密密鑰進(jìn)行加密解密。?
證書(shū)驗(yàn)證:?
一般來(lái)說(shuō)瀏覽器都內(nèi)置了權(quán)威CA的根證書(shū),客戶(hù)端使用根證書(shū)的密鑰對(duì)服務(wù)器發(fā)來(lái)的證書(shū)進(jìn)行解密驗(yàn)證,若域名、有效期、簽發(fā)機(jī)關(guān)等驗(yàn)證項(xiàng)符合則通過(guò),否則認(rèn)定證書(shū)無(wú)效,斷開(kāi)連接。
?

HTTP協(xié)議簡(jiǎn)介

HTTP(超文本傳輸協(xié)議)是應(yīng)用層上的一種客戶(hù)端/服務(wù)端模型的通信協(xié)議,它由請(qǐng)求和響應(yīng)構(gòu)成,且是無(wú)狀態(tài)的。(暫不介紹HTTP2)

  • 協(xié)議

協(xié)議規(guī)定了通信雙方必須遵循的數(shù)據(jù)傳輸格式,這樣通信雙方按照約定的格式才能準(zhǔn)確的通信。

  • 無(wú)狀態(tài)
    無(wú)狀態(tài)是指兩次連接通信之間是沒(méi)有任何關(guān)系的,每次都是一個(gè)新的連接,服務(wù)端不會(huì)記錄前后的請(qǐng)求信息。

  • 客戶(hù)端/服務(wù)端模型

?

網(wǎng)絡(luò)層級(jí)

?

應(yīng)用層 —————— HTTP

傳輸層 —————— TCP UDP

網(wǎng)絡(luò)層 —————— IP

數(shù)據(jù)鏈路層 ————數(shù)據(jù)鏈路

物理層 ——————物理介質(zhì)

?

URL構(gòu)成

用了這么久,你注意過(guò)嗎?

協(xié)議內(nèi)容

請(qǐng)求(Request)

客戶(hù)端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)端的格式:

  • 請(qǐng)求行

  • 請(qǐng)求頭

  • 請(qǐng)求體

?

  • 響應(yīng)(Response)

服務(wù)端響應(yīng)客戶(hù)端格式:

  • 狀態(tài)行

  • 響應(yīng)頭

  • 響應(yīng)體

    狀態(tài)碼

HTTP狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類(lèi)型,后兩個(gè)數(shù)字沒(méi)有分類(lèi)的作用。HTTP狀態(tài)碼共分為5種類(lèi)型:

更詳細(xì)的狀態(tài)碼可查看 HTTP狀態(tài)碼

但一般我們只需要知道幾個(gè)常見(jiàn)的就行,比如 200,400,401,403,404,500,502.

請(qǐng)求方法

截止到HTTP1.1共有下面幾種方法:

請(qǐng)求和響應(yīng)常見(jiàn)通用頭

總結(jié)

以上是生活随笔為你收集整理的HTTP协议简介,数据安全 如何保证http传输安全性,http与https区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。