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(傳輸層安全,傳輸層安全協議)
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連線,這意味著,用插座可以建立任何協議的連線,因為其它協議都是基於此的。
插座傳輸的特點:
優點:
-
傳輸資料為位元組級,傳輸資料可自定義,資料量小(對於手機應用講:費用低)
-
傳輸資料時間短,效能高
-
適合於客戶端和伺服器端之間資訊實時互動
-
可以加密,資料安全性強
缺點:
- 需對傳輸的資料進行解析,轉化成應用級的資料
- 對開發人員的開發水平要求高
- 相對於的Http協議傳輸,增加了開發量
插座傳輸適用範圍
基於Socket傳輸的特點:Socket傳輸方式適合於對傳輸速度,安全性,實時互動,費用等要求高的應用中,如網路遊戲,手機應用,銀行內部互動等