1. 程式人生 > >HTTP、TCP、UDP、Socket、Https區別

HTTP、TCP、UDP、Socket、Https區別

TCP HTTP UDP三者的關係如下:

 TCP / IP是個協議組,可分為四個層次:網路介面層,網路層,傳輸層,應用層

 在網路層IP協議,ICMP協議,ARP協議,RARP協議和BOOTP協議。

 在傳輸層中有TCP協議與UDP協議

 在應用層HTTP,FTP,TELNET,SMTP,DNS等協議。

HTTP全稱是Hyper Text Transfer Protocal(超文字傳輸​​協議),Http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程為“一次連線”

HTTPS全稱是Secure Hyper Text Transfer Protocol(安全超文字傳輸​​協議),它是一個安全通訊通道.HTTPB是HTTP over SSL / TLS:HTTP是應用層協議,TCP是傳輸層協議,在應用層和傳輸層之之SSL,TLS(傳輸層安全,傳輸層安全協議)                                                   

SSL使用40位關鍵字作為RC4流加密演算法

HTTPS的作用

  • 內容加密建立一個資訊保安通道,來保證資料傳輸的安全;
  • 身份認證,確認網站的真實性
  • 資料完整性防止內容被第三方冒充或者篡改

HTTPS和的Http的區別

  • HTTPS協議需要到CA申請證書
  • HTTP是超文字傳輸​​協議,資訊是明文傳輸; HTTPS則是具有安全性的SSL加密傳輸協議
  • HTTP和HTTPS使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
  • HTTP的連線很簡單,是無狀態的; HTTPS協議是由SSL + HTTP協議構建的可進行加密傳輸,身份認證的網路協議,比HTTP協議安全。

UDP和TCP的區別

  • 基於連線與無連線(是指傳輸資料之前)
  • 對系統資源的要求(TCP較多,UDP較少)
  • UDP程式結構較簡單,首部開銷只有8個位元組,而TCP有20個位元組。
  • 流模式與資料報模式,UDP沒有擁塞控制,UDP中當網路發生擁塞不會使源主機的速率降低,多用於實時應用中,如IP電話,實時視訊會議等。

  • TCP保證資料正確性,UDP可能丟包,TCP保證資料順序,UDP不保證。

  • 每一條TCP連線只能是點到點的; UDP支援一對一,一對多,多對一和多對多的互動通訊。

插座:

     插座:只是一個抽象層用來表示程式已經加入到網路中。

     socket只是一種連線模式,不是協議,socket是對TCP / IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API),通過Socket,我們才能使用TCP / IP協議.tcp,udp,簡單的說(雖然不準確)是兩個最基本的協議,很多其它協議都是基於這兩個協議如,HTTP就是基於TCP的。用插座可以建立TCP連線,也可以建立UDP連線,這意味著,用插​​座可以建立任何協議的連線,因為其它協議都是基於此的。

 插座傳輸的特點:

 優點:

  1.  傳輸資料為位元組級,傳輸資料可自定義,資料量小(對於手機應用講:費用低)

  2. 傳輸資料時間短,效能高

  3. 適合於客戶端和伺服器端之間資訊實時互動

  4.  可以加密,資料安全性強

 

缺點:

  1.  需對傳輸的資料進行解析,轉化成應用級的資料
  2. 對開發人員的開發水平要求高
  3. 相對於的Http協議傳輸,增加了開發量

 

 插座傳輸適用範圍

基於Socket傳輸的特點:Socket傳輸方式適合於對傳輸速度,安全性,實時互動,費用等要求高的應用中,如網路遊戲,手機應用,銀行內部互動等