網(wǎng)絡

網(wǎng)絡模型:應用層,表示層,會話層,傳輸層,網(wǎng)絡層,數(shù)據(jù)鏈路層,物理層。
網(wǎng)絡的通訊其實就是socket間的通訊(通訊的兩端都是socket),通過IO傳輸。需要IP,Port
Socket:位于傳輸層,有兩個傳輸協(xié)議

  • TCP:傳輸控制協(xié)議。通過3次握手來建立連接(創(chuàng)建socket,connect建立連接,write發(fā)送,請求數(shù)據(jù),read讀取返回的信息,讀取完畢的close,結束循環(huán)),可大數(shù)據(jù)傳輸。案例:下載,保持文件傳輸?shù)耐暾浴?/li>
  • UDP:用戶數(shù)據(jù)協(xié)議,不需要握手操作,有大小限制。不可靠協(xié)議。一般流媒體,游戲等,如果網(wǎng)絡不好出現(xiàn)卡幀等之類情況就可能使用的UDP。

http,https協(xié)議:是建立socket基礎之上的。處于應用層。

  • http:超文本傳輸協(xié)議,明文傳輸。
  • https:安全的ssl加密傳輸協(xié)議。

https流程:
客戶端將與服務端協(xié)商的數(shù)據(jù)傳遞給服務端,服務端進行校驗,校驗通過,會將數(shù)字證書(向CA機構申請,審核通過,發(fā)放數(shù)字證書,包含公鑰,簽名等公司信息),公鑰傳遞給客戶端,客戶端驗證證書的有效性。驗證通過,將公鑰處理成前主秘鑰進行非對稱加密傳輸給服務端,自己形成會話秘鑰。服務端通過私鑰解密獲取主秘鑰,同樣形成會話秘鑰。進行數(shù)據(jù)加密傳輸。

Charles作為中間人,對客戶端偽裝成服務端,對服務端偽裝成客戶端。簡單來說:
1:截獲客戶端的HTTPS請求,偽裝成中間人客戶端去向服務端發(fā)送HTTPS請求
2:接受服務端返回,用自己的證書偽裝成中間人服務端向客戶端發(fā)送數(shù)據(jù)內(nèi)容。

網(wǎng)絡請求:常用Get,Post方式的區(qū)別

  • Get :參數(shù)包含在url中,參數(shù)有長度限制。
  • Post:有請求體,通過request Body傳遞參數(shù),參數(shù)沒有長度限制。請求頭要添加字段content-type:application/json來獲取請求中消息主體的編碼方式。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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