Java網絡編程基礎(二)

TCP

TCP是面向鏈接的丶可靠的字節流協議,經過三次握手創建鏈接,通信完成時要拆除鏈接,因爲TCP是面向鏈接的因此只能用於端到端的通信.程序員

若是IP數據包中有已經封好的TCP數據包,那麼IP將把它們向‘上’傳送到TCP層。TCP將包排序並進行錯誤檢查,同時實現虛電路間的鏈接。編程

TCP數據包中包括序號和確認,因此未按照順序收到的包能夠被排序,而損壞的包能夠被重傳。服務器

clipboard.png

clipboard.png

TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序(即應用層)。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最後到接收方。網絡

UDP

UDP是面向無鏈接丶不可靠的的數據報協議,UDP數據包括目的端口號和源端口號信息,因爲通信不須要鏈接,因此能夠實現廣播發送。spa

UDP通信時不須要接收方確認,屬於不可靠的傳輸,可能會出現丟包現象,實際應用中要求程序員編程驗證。排序


端口號

數據鏈路和 IP 中的地址,分別指的是 MAC 地址(MAC地址是網卡地址)和 IP 地址。前者用來識別同一鏈路中不一樣的計算機,後者用來識別 TCP/IP 網絡中互連的主機和路由器。在傳輸層也有這種相似於地址的概念,那就是端口號。端口號用來識別同一臺計算機中進行通訊的不一樣應用程序。所以,它也被稱爲程序地址。ip


HTTP請求的傳輸過程

clipboard.png

一次完整http請求的7個過程
1.創建 TCP 鏈接(以前可能還有一次DNS域名解析)
2.客戶端向服務器發送請求命令
3.客戶端發送請求頭信息
4.服務服務器應答器
5.返回響應頭信息
6.服務器向客戶端發送數據
7.服務器關閉 TCP 鏈接路由


Http請求協議報文結構域名

clipboard.png

請求報文結構:it

clipboard.png

返回報文結構:

clipboard.png

相關文章
相關標籤/搜索