TCP HTTP UDP三者的關(guān)系
TCP/IP是個協(xié)議組,可分為四個層次:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。
在網(wǎng)絡(luò)層有IP協(xié)議、ICMP協(xié)議、ARP協(xié)議、RARP協(xié)議和BOOTP協(xié)議。
在傳輸層中有TCP協(xié)議與UDP協(xié)議。
在應(yīng)用層有HTTP,FTP、TELNET、SMTP、DNS等協(xié)議。
HTTP
HTTP全稱是HyperText Transfer Protocal,即:超文本傳輸協(xié)議,HTTP連接最顯著的特點是客戶端發(fā)送的每次請求都需要服務(wù)器回送響應(yīng),在請求結(jié)束后,會主動釋放連接。從建立連接到關(guān)閉連接的過程稱為“一次連接”。
HTTPS
HTTPS通信原理
HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協(xié)議 它是一個安全通信通道
HTTPS是HTTP over SSL/TLS,HTTP是應(yīng)用層協(xié)議,TCP是傳輸層協(xié)議,在應(yīng)用層和傳輸層之間,增加了一個安全套接層SSL/TLS:
SSL (Secure Socket Layer,安全套接字層)
TLS (Transport Layer Security,傳輸層安全協(xié)議)
SSL使用40 位關(guān)鍵字作為RC4流加密算法
Https的作用
內(nèi)容加密 建立一個信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩?br>
身份認(rèn)證 確認(rèn)網(wǎng)站的真實性
數(shù)據(jù)完整性 防止內(nèi)容被第三方冒充或者篡改
Https和Http的區(qū)別
https協(xié)議需要到CA申請證書。
http是超文本傳輸協(xié)議,信息是明文傳輸;https 則是具有安全性的ssl加密傳輸協(xié)議。
http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
http默認(rèn)使用80端口,https默認(rèn)使用443端口
TCP:傳送控制協(xié)議(Transmission Control Protocol)
建立連接三次握手:

釋放連接四次握手:

ps:有關(guān)TCP詳情:https://blog.csdn.net/qzcsu/article/details/72861891
UDP:用戶數(shù)據(jù)報協(xié)議 (UDP:User Datagram Protocol)
一種無連接的協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。
TCP和UDP區(qū)別
1.基于連接與無連接
2.TCP要求系統(tǒng)資源較多,UDP較少;
3.UDP程序結(jié)構(gòu)較簡單
4.流模式(TCP)與數(shù)據(jù)報模式(UDP);
5.TCP保證數(shù)據(jù)正確性,UDP可能丟包
6.TCP保證數(shù)據(jù)順序,UDP不保證
Socket:
這是為了實現(xiàn)以上的通信過程而建立成來的通信管道,其真實的代表是客戶端和服務(wù)器端的一個通信進(jìn)程,雙方進(jìn)程通過socket進(jìn)行通信,而通信的規(guī)則采用指定的協(xié)議。
socket只是一種連接模式,不是協(xié)議,socket是對TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個調(diào)用接口(API),
通過Socket,我們才能使用TCP/IP協(xié)議。
tcp、udp,簡單的說(雖然不準(zhǔn)確)是兩個最基本的協(xié)議,
很多其它協(xié)議都是基于這兩個協(xié)議如,http就是基于tcp的,.用socket可以創(chuàng)建tcp連接,也可以創(chuàng)建udp連接,
這意味著,用socket可以創(chuàng)建任何協(xié)議的連接,因為其它協(xié)議都是基于此的。

Socket傳輸特點:
優(yōu)點:
1.傳輸數(shù)據(jù)為字節(jié)級,傳輸數(shù)據(jù)可自定義,數(shù)據(jù)量?。▽τ谑謾C應(yīng)用講:費用低)
2.傳輸數(shù)據(jù)時間短,性能高
3.適合于客戶端和服務(wù)器端之間信息實時交互
4.可以加密,數(shù)據(jù)安全性強
缺點:
1.需對傳輸?shù)臄?shù)據(jù)進(jìn)行解析,轉(zhuǎn)化成應(yīng)用級的數(shù)據(jù)
2.對開發(fā)人員的開發(fā)水平要求高
3.相對于Http協(xié)議傳輸,增加了開發(fā)量
http協(xié)議的傳輸特點
優(yōu)點:
1.基于應(yīng)用級的接口使用方便
2.程序員開發(fā)水平要求不高,容錯性強
缺點:
1.傳輸速度慢,數(shù)據(jù)包大(Http協(xié)議中包含輔助應(yīng)用信息)
2.如實時交互,服務(wù)器性能壓力大。
3.數(shù)據(jù)傳輸安全性差
適用范圍
Socket 傳輸方式適合于對傳輸速度,安全性,實時交互,費用等要求高的應(yīng)用中,如網(wǎng)絡(luò)游戲,手機應(yīng)用,銀行內(nèi)部交互等。
基于http協(xié)議傳輸方式適合于對傳輸速度,安全性 要求不是很高,且需要快速開發(fā)的應(yīng)用。如公司OA系統(tǒng),互聯(lián)網(wǎng)服務(wù)等。