一、HTTP (超文本傳輸協議,用於網絡通信數據傳輸):
二、HTTPS原理(對HTTP進行非對稱加密傳輸數據使網絡通信較為安全)
加密原理步驟:
1、 服務器將公鑰發送給CA機構申請數字證書
2、CA機構下發數字證書給服務器再由服務器發送給客戶端
2.1、將企業信息以及公鑰用MD5生成摘要放在信息后面
2.2、再將2.1的所有信息用CA私鑰加密發回個服務器
3、服務器拿到數字證書后發送給客戶端
3、客戶端使用瀏覽器中內置的CA公鑰解析數字證書
4、解析完畢后對內容進行MD5的加密再與摘要匹配如果一直說明文本完整,服務器安全。
無法被篡改的原因: 當socket 包被攔截后可以使用CA的公鑰對服務器的公鑰進行解密,也可以對信息解密從而拿到信息。
但無法修改,因為你無法拿到CA的私鑰對偽裝的公鑰進行加密!所以保證了信息安全。
三、HTTP 與 HTTPS區別與聯系
優/缺點 | 端口 | 效率 | 內部實現 | |
http(超文本傳輸協議) |
傳輸快、校驗簡單不安全,容易被抓包監控
|
80 | 高,傳輸快 | HTTP |
https(超文本傳輸安全協議) |
安全、SEO排名高,被google所信任較http 慢
|
80 與 443(傳輸證書的) | 相對http 慢 | HTTP+SSL |
四、OSI七層協議
OSI是一個開放性的通信系統互連參考模型,他是一個定義得非常好的協議規范。OSI模型有7層結構,每層都可以有幾個子層。
OSI的7層從上到下分別是 7 應用層 6 表示層 5 會話層 4 傳輸層 3 網絡層 2 數據鏈路層 1 物理層
五、HTTPS 與 TCP/IP聯系與區別(HTTP基於TCP,TCP用於連接,HTTP用於數據傳輸)
HTTP | TCP/IP | |
區別 | 應用層定義傳輸數據的內容的規范 | 傳輸層數據傳輸和連接方式的規范(不帶任何數據,僅僅用於連接通信) |
意義 | C端通過HTTP發起短連接請求訪問S端獲取響應報文 | Http 必須建立在TCP/IP連接成功之后才能發起訪問請求,建立HTTP 連接的基礎 |
作用 | 使用戶與服務器有一個良好的交互,才出現了TB,JD 等等大型網站 | 應用層協議建立連接的基石,應用層的連接必須在TCP/IP三次握手之后才能發送數據 |
六、TCP連接的三次握手與斷開連接的四次揮手
TCP是什么:
1、TCP協議是面向連接的運輸層協議在數據傳輸前必須建立連接,數據才能開始傳輸
2、每條連接都是端口對端口的連接(一對一)
3、瀏覽器像服務器傳輸數據是,傳輸過程中是一個一個的數據報文,被分段了,到服務器端重組
4、TCP提供全雙工通信:一端既可以是服務端也可以是客戶端
三次握手建立連接:
第一次握手:客戶端發送syn包(seq=x)到服務器,並進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也發送一個SYN包(seq=y),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=y+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=x+1),同時自己也發送一個SYN包(seq=y),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=y+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。
四次揮手斷開連接:
1、B端發送斷開請求
2、S端發送ACK確認收到B端斷開請求
3、將S端的數據處理完畢后發送可以斷開FIN給B端
4、B端發送確認收到請求斷開連接
揮手與握手示意圖

為什么需要三次握手,而非兩次
正如上文所描述的,為了實現可靠傳輸,發送方和接收方始終需要同步( SYNchronize )序號。 需要注意的是, 序號並不是從 0 開始的, 而是由發送方隨機選擇的初始序列號 ( Initial Sequence Number, ISN )開始 。 由於 TCP 是一個雙向通信協議, 通信雙方都有能力發送信息, 並接收響應。 因此, 通信雙方都需要隨機產生一個初始的序列號, 並且把這個起始值告訴對方。

上圖描述參考文獻:https://blog.csdn.net/lengxiao1993/article/details/82771768