面向報文的傳輸方式:
??應用層交給UDP多長的報文,UDP就照樣發送,即一次發送一個報文
面向字節流:
??TCP有一個緩沖 ,當應用程序傳送的數據塊太長,TCP可以把他劃分短一些再傳送,如果應用程序一次只發送一個字節,TCP也可以等待積累夠多的字節后再構成報文段發送出去。
面向連接
??例:打電話
無連接:
??例:寫信
TCP無邊界
??客戶端分多次發送數據給服務器,若服務器的緩沖區夠大,那么服務器端會在客戶端發送完之后一次性接收過來,所以是無邊界的;
UDP有邊界
??客戶端每發送一次,服務器端就會接收一次,也就是說發送多少次就會接收多少次,因此是有邊界的。
TCP于UDP區別
??1.TCP面向連接,面向字節流,可靠,速度慢,傳輸效率慢
有流量控制,有擁塞機制
??2.UDP不可靠 無連接 面向報文 傳輸效率高 速度快
TCP保證數據接收的順序性
??TCP每個報文都是有序號的,確認應答信號ACK=接收到的SEQ+1
利用Socket建立網絡連接的步驟
??建立Socket連接至少需要一對套接字,其中一個運行于客戶端,稱為ClientSocket ,另一個運行于服務器端,稱為ServerSocket 。 套接字之間的連接過程分為三個步驟:服務器監聽,客戶端請求,連接確認?! ?br> 1、服務器監聽:服務器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態,實時監控網絡狀態,等待客戶端的連接請求。
2、客戶端請求:指客戶端的套接字提出連接請求,要連接的目標是服務器端的套接字。 為此,客戶端的套接字必須首先描述它要連接的服務器的套接字,指出服務器端套接字的地址和端口號,然后就向服務器端套接字提出連接請求。
3、連接確認:當服務器端套接字監聽到或者說接收到客戶端套接字的連接請求時,就響應客戶端套接字的請求,建立一個新的線程,把服務器端套接字的描述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連接?! 《掌鞫颂捉幼掷^續處于監聽狀態,繼續接收其他客戶端套接字的連接請求
鏈接:https://www.zhihu.com/question/39541968/answer/81841947
Http協議的主要特點
支持客戶/服務器模式
簡單快速:客戶向服務端請求服務時,只需傳送請求方式和路徑。
靈活:允許傳輸任意類型的數據對象。由Content-Type加以標記。
無連接:每次響應一個請求,響應完成以后就斷開連接。
無狀態:服務器不保存瀏覽器的任何信息。每次提交的請求之間沒有關聯
鏈接:
https://github.com/GeniusVJR/LearningNotes/blob/master/Part4/Network/Http%E5%8D%8F%E8%AE%AE.md
https
SSL+HTTP協議構成的可進行加密傳輸,身份認證的網絡協議
- https://juejin.im/entry/596d7b9f5188254b5c360f04/detail (一個故事講完https)