HTTP/HTTPS, Socket,TCP/IP

1. 七層模型  

   OSI七層模型: 開放系統互連參考模型 (Open System Interconnect 簡稱OSI),其最主要的功能使就是幫助不一樣類型的主機實現數據傳輸 安全

        

   應用層:http/FTP協議 ——- 主要解決如何包裝數據,提供用戶程序的「接口」;   服務器

   表示層:數據的表現形式,特定功能的實現,如數據加密;網絡

   傳輸層:tcp/udp協議  ——  主要解決數據如何在網絡中傳輸; tcp

   網絡層:ip協議加密

   傳輸層的TCP是基於網絡層的IP協議的,而應用層的HTTP協議又是基於傳輸層的TCP協議的。3d

 

2.   HTTP/HTTPS協議 

     HTTP:即超文本傳輸協議(Hypertext transfer protocol),是一個屬於應用層的面向對象的協議。HTTP協議永遠都是客戶端發起請求,服務器回送響應。    對象

     HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),即安全套接字層超文本傳輸協議,是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,所以加密的詳細內容就須要SSL blog

     默認HTTP的端口號爲80,HTTPS的端口號爲443。     接口

   HTTPS 客戶端與服務器交互過程進程

     1》、客戶端發送請求,服務器返回公鑰給客戶端;

     2》、客戶端生成對稱加密祕鑰,用公鑰對其進行加密後,返回給服務器;

     3》、服務器收到後,利用私鑰解開獲得對稱加密祕鑰,保存;

     4》、以後的交互都使用對稱加密後的數據進行交互。

 

3.TCP/IP協議

   Transmission Control Protocol/Internet Protocol的簡寫,網絡通信協議。 TCP負責發現傳輸的問題,一有問題就發出信號,要求從新傳輸,直到全部數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。

   TCP是一個端到端的面向鏈接的協議。所謂的端到端能夠理解爲進程到進程之間的通訊。因此HTTP在開始傳輸以前,首先須要創建TCP鏈接,而TCP鏈接的過程須要所謂的「三次握手」。

 握手過程:a.主機A向主機B發出鏈接請求數據包;

               b.主機B向主機A發送贊成鏈接和要求同步(同步就是兩臺主機一個在發送,一個在接收,協調工做)的數據包;

               c.主機A再發出一個數據包確認主機B的要求同步:「我如今就發,你接着吧!」,這是第三次對話。

               三次「對話」的目的是使數據包的發送和接收同步,握手過程當中傳送的包裏不包含數據,通過三次「對話」以後,主機A才向主機B正式發送數據。

 tcp與udp的區別:

   

 4. Socket   

         Socket是對TCP/IP協議的封裝,Socket自己並非協議,而是一個調用接口(API),經過Socket,咱們使用TCP/IP協議。    

         創建Socket鏈接至少須要一對套接字,其中一個運行於客戶端,稱爲ClientSocket ,另外一個運行於服務器端,稱爲ServerSocket 。

套接字之間的鏈接過程分爲三個步驟:服務器監聽,客戶端請求,鏈接確認。

相關文章
相關標籤/搜索