1. 程式人生 > >HTTP,TCP,UDP,SOCKET整理

HTTP,TCP,UDP,SOCKET整理

1.HTTP

HTTP是無狀態,“請求-響應”式,短連線通訊協議。伺服器處於監聽狀態,接收到客戶端請求後建立連線。客戶端向服務端傳送資訊,服務端回覆,然後斷開連結。客戶端如果不發出請求,服務端無法直接向客戶端傳送資料。


2.TCP

TCP是面向連線的,長連線通訊協議。客戶端向服務端發出連線請求,包括三次握手的過程。三次握手成功後建立連線。之後服務端或者客戶端都可以主動向彼此傳送資料。斷開連線時,需要經歷四次揮手的過程。TCP的連線機制確保它是一種可靠的通訊協議。

3.UDP

UDP是無連線的通訊協議。客戶端和服務端無需簡歷連線就可以傳送資料。可靠性較低,但是不需要連線,實時性較好。

4.SOCKET

套接字(socket)是通訊的基石,是支援TCP/IP協議的網路通訊的基本操作單元。它是網路通訊過程中端點的抽象表示,包含進行網路通訊必須的五種資訊:連線使用的協議,本地主機的IP地址,本地程序的協議埠,遠地主機的IP地址,遠地程序的協議埠。socket是TCP/UDP使用的介面。


很多情況下,需要伺服器端主動向客戶端推送資料,保持客戶端與伺服器資料的實時與同步。此時若雙方建立的是Socket連線,伺服器就可以直接將資料傳送給客戶端;若雙方建立的是HTTP連線,則伺服器需要等到客戶端傳送一次請求後才能將資料傳回給客戶端,因此,客戶端定時向伺服器端傳送連線請求,不僅可以保持線上,同時也是在“詢問”伺服器是否有新的資料,如果有就將資料傳給客戶端。