摘要:客戶端客戶端使用訪問服務(wù)端,要求建立連接服務(wù)端服務(wù)端收到客戶端請(qǐng)求,將網(wǎng)站的證書傳送一份給客戶端,證書里面包含了網(wǎng)站地址,加密公鑰,以及證書的頒發(fā)機(jī)構(gòu)等信息。
聲明
文章均為本人技術(shù)筆記,轉(zhuǎn)載請(qǐng)注明出處https://segmentfault.com/u/yzwall
http協(xié)議http(Hypertext Transfer Protocol, 超文本傳輸協(xié)議),基于TCP連接
URL(Uniform Resource Locator,統(tǒng)一資源定位符),用于指明網(wǎng)絡(luò)資源的地址
http報(bào)文類型分為請(qǐng)求報(bào)文和響應(yīng)報(bào)文;
http請(qǐng)求報(bào)文由客戶端向服務(wù)端發(fā)送;
請(qǐng)求行/Requst-Linehttp請(qǐng)求報(bào)文由三部分組成:Request-Line(請(qǐng)求行),Request Header(請(qǐng)求報(bào)文頭,可選),Body(請(qǐng)求報(bào)文,只對(duì)POST有效)
請(qǐng)求行格式:[Request + Request-URI + HTTP-Version + CRLF]
Request:請(qǐng)求方法
Request-URI:表示訪問鏈接
HTTP-Version:表示HTTP協(xié)議版本
CRLF:表示回車換行,不允許出現(xiàn)多帶帶的CR或LF字符
請(qǐng)求方法/Request請(qǐng)求方法類型可分為:
GET:根據(jù)Request-URI,從服務(wù)端讀取數(shù)據(jù)
POST:根據(jù)Request-URI,向服務(wù)端發(fā)送數(shù)據(jù)(Body)
HEAD:根據(jù)Request-URI,從服務(wù)端只讀取響應(yīng)消息報(bào)頭
PUT:根據(jù)Request-URI,請(qǐng)求服務(wù)端存儲(chǔ)一個(gè)資源
DELETE:請(qǐng)求服務(wù)端刪除Request-URI所標(biāo)識(shí)的資源
TRACE:請(qǐng)求服務(wù)器回送收到的請(qǐng)求信息,主要用于測(cè)試
CONNECT:待補(bǔ)充
OPTIONS:待補(bǔ)充
GET和POST區(qū)別GET用于向服務(wù)端查詢某些信息, POST用于向服務(wù)端發(fā)送應(yīng)該被保存的數(shù)據(jù). 即GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)
GET將查詢字符串參數(shù)追加到URL尾部,大小有限制; POST請(qǐng)求把提交數(shù)據(jù)放入請(qǐng)求正文中. 數(shù)據(jù)格式不限,大小不受限制;
http響應(yīng)報(bào)文服務(wù)端收到和解釋請(qǐng)求報(bào)文后,返回一個(gè)http響應(yīng)報(bào)文
狀態(tài)行/Status-Linehttp響應(yīng)報(bào)文由三部分組成:Status-Line(狀態(tài)行),Response Header(響應(yīng)報(bào)文頭,可選),Body(響應(yīng)正文)
響應(yīng)碼/Status Code狀態(tài)行格式為HTTP Version + Status Code(響應(yīng)碼) + Reason-Phase(響應(yīng)碼描述)
響應(yīng)碼一共3位,第1位定義響應(yīng)的類別:
1xx:信息響應(yīng)類,表示接收到請(qǐng)求并且繼續(xù)處理;
2xx:成功響應(yīng);
3xx:重定向響應(yīng)類,需要請(qǐng)求方執(zhí)行更多操作
4xx:客戶端錯(cuò)誤,請(qǐng)求包含語法錯(cuò)誤或者不能正確執(zhí)行
400:客戶端請(qǐng)求有語法錯(cuò)誤,不能被服務(wù)端處理;
401:請(qǐng)求未授權(quán);
403:服務(wù)端收到請(qǐng)求,但是拒絕提供服務(wù);
404:請(qǐng)求資源不存在;
5xx:服務(wù)端錯(cuò)誤,服務(wù)端不能執(zhí)行正確的客戶端請(qǐng)求
500:服務(wù)端內(nèi)部錯(cuò)誤;
501:保留未實(shí)現(xiàn);
502:網(wǎng)關(guān)錯(cuò)誤,服務(wù)器無法響應(yīng);
503:服務(wù)暫時(shí)失效,一段時(shí)間后可能恢復(fù)正常;
http報(bào)文頭/Headers待補(bǔ)充;
https協(xié)議 https協(xié)議與ssl協(xié)議 sslssl(secure socket layer,安全套接字層),ssl協(xié)議是Netscape公司提出的安全保密協(xié)議,運(yùn)行在應(yīng)用層,ssl協(xié)議采用加密算法生成40位密鑰,為應(yīng)用程序提供數(shù)據(jù)加密;
https協(xié)議https(Secure Hypertext Transfer Protocol,安全超文本傳輸協(xié)議),在http基礎(chǔ)上通過SSl協(xié)議實(shí)現(xiàn)信息安全傳輸;https使用ssl在發(fā)送端將數(shù)據(jù)加密,然后由接收端進(jìn)行解密,加密和解密都需要發(fā)送端和接收端通過交換一致的密鑰來實(shí)現(xiàn)。
【客戶端】客戶端使用https url訪問Web服務(wù)端,要求建立ssl連接
【服務(wù)端】Web服務(wù)端收到客戶端請(qǐng)求,將網(wǎng)站的證書傳送一份給客戶端,證書里面包含了網(wǎng)站地址,加密公鑰,以及證書的頒發(fā)機(jī)構(gòu)等信息。
【客戶端】客戶端收到網(wǎng)站證書后,瀏覽器執(zhí)行如下操作:
2.1 驗(yàn)證證書是否受信任
2.2 生成隨機(jī)密鑰:如果證書受信任,瀏覽器生成一串隨機(jī)密鑰
【客戶端】加密隨機(jī)密鑰:瀏覽器用證書提供的公鑰對(duì)生成的隨機(jī)密鑰進(jìn)行加密
【客戶端】計(jì)算握手信息并加密:瀏覽器使用HASH加密算法計(jì)算握手信息,并用隨機(jī)密鑰加密,然后發(fā)送握手信息給服務(wù)端
【服務(wù)端】服務(wù)端收到握手信息后,執(zhí)行如下操作:
5.1 解密隨機(jī)密鑰:服務(wù)端使用自己的私鑰解密出隨機(jī)密鑰
5.2 解密握手信息:服務(wù)端使用隨機(jī)密鑰解密收到的握手信息,并驗(yàn)證HASH是否與瀏覽器發(fā)來的一致
5.3 發(fā)送加密握手信息:服務(wù)端使用隨機(jī)密鑰加密一段握手信息,發(fā)送給瀏覽器
【客戶端】瀏覽器解密并計(jì)算握手信息的HASH,如果與服務(wù)端發(fā)來的HASH一致,握手結(jié)束;
最后,客戶端與服務(wù)端的所有通信數(shù)據(jù)都通過隨機(jī)密鑰加密傳輸
http與https辨析安全性:http用明文發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,安全性較差;https協(xié)議在http基礎(chǔ)上加入ssl協(xié)議保證數(shù)據(jù)安全,ssl憑借證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密;
端口:http和https使用的是完全不同的連接方式,http使用80端口,https使用443端口;
系統(tǒng)開銷:https系統(tǒng)開銷比http開銷大,傳輸效率不如http;
費(fèi)用:https中ssl證書需要繳納費(fèi)用;
session與cookinecookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上
cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session
session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能 考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用cookine
單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie
[1] http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
[2] http://www.cnblogs.com/wqhwe/p/5407468.html
[3] http://www.php100.com/html/it/biancheng/2015/0209/8582.html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67019.html
摘要:今天是年的第一天和宣布正式建立深度合作,共同推動(dòng)區(qū)塊鏈技術(shù)的進(jìn)一步發(fā)展,未來雙方將在包括聯(lián)合技術(shù)研發(fā)品牌市場(chǎng)營(yíng)銷海內(nèi)外市場(chǎng)拓展等領(lǐng)域展開密切合作。簡(jiǎn)稱是的方案,為上層提供信任基礎(chǔ)。 今天是 2019 年的第一天, AlphaWallet 和 Nervos 宣布正式建立深度合作,共同推動(dòng)區(qū)塊鏈技術(shù)的進(jìn)一步發(fā)展,未來雙方將在包括聯(lián)合技術(shù)研發(fā)、品牌市場(chǎng)營(yíng)銷、海內(nèi)外市場(chǎng)拓展等領(lǐng)域展開密切合作。...
摘要:近日,數(shù)據(jù)港發(fā)布公告表示,公司已與阿里巴巴順利簽署了關(guān)于等五個(gè)云計(jì)算數(shù)據(jù)中心基地園區(qū)項(xiàng)目的合作備忘錄。此次數(shù)據(jù)港與阿里巴巴億大單的簽訂標(biāo)志著數(shù)據(jù)港業(yè)務(wù)規(guī)模將會(huì)大幅增長(zhǎng)。近日,數(shù)據(jù)港發(fā)布公告表示,公司已與阿里巴巴順利簽署了關(guān)于ZH13等五個(gè)云計(jì)算數(shù)據(jù)中心基地園區(qū)項(xiàng)目的合作備忘錄。備忘錄明確約定了包括項(xiàng)目合作內(nèi)容、項(xiàng)目合作周期、費(fèi)用結(jié)算、違約罰則、法律效力及生效條款等所有主要商務(wù)條款。據(jù)悉,20...
摘要:微信分享的內(nèi)容,從視覺上看有三個(gè)部分標(biāo)題描述圖片。聲明年月日,微信宣布未接入的網(wǎng)站將統(tǒng)一顯示默認(rèn)縮略圖所以在某些時(shí)候,訂制內(nèi)容是極為必要的。 微信分享的內(nèi)容,從視覺上看有三個(gè)部分:標(biāo)題、描述、圖片。如果不使用微信的 jssdk 進(jìn)行訂制的話,微信會(huì)截取一張大概 300*300 并且距離 標(biāo)簽最近的一張圖片作為需要的圖片;標(biāo)題會(huì)選取中的內(nèi)容;描述則會(huì)是該頁(yè)面的 URL。 聲明:2017年...
摘要:所以我們整理了一個(gè)應(yīng)用安全備忘錄,以幫助你在部署啟動(dòng)應(yīng)用程序的時(shí)候進(jìn)行安全檢查。這可以保護(hù)應(yīng)用程序不被攻擊。應(yīng)該用日志記錄下來,而不是顯示給用戶。 本人的博客http://www.wjs.photo/,感興趣的可以看看哦,基于NodeJs框架ThinkJs 本文翻譯自 www.risingstack.com ,并非逐字逐句的翻譯,有錯(cuò)誤的地方請(qǐng)指出,謝謝啦 應(yīng)用程序的安全就像是你房間里...
閱讀 4002·2021-11-24 09:38
閱讀 1271·2021-10-19 11:42
閱讀 1859·2021-10-14 09:42
閱讀 2187·2019-08-30 15:44
閱讀 572·2019-08-30 14:04
閱讀 2922·2019-08-30 13:13
閱讀 1983·2019-08-30 12:51
閱讀 997·2019-08-30 11:22