一直在思考乙個我問題,http協議為什麼用tcp而不用udp。
1,一次http請求,ie傳送請求->伺服器處理ie的請求->ie接收到伺服器的請求。
現在假設網路是連通的,不連通就討論這個就沒什麼意義了。
tcp傳送不成功就重傳,這樣的話如果不超時總能保證ie的請求被伺服器接收,並且不會丟包保證傳輸無錯誤。
udp發後不管,可能存在這樣的情況,ie請求傳送完了,伺服器也接收到了,但是伺服器接收到的資訊存在缺失或者錯誤。
可想而知,如果傳送給ie的資訊有錯誤的話,ie解析的時候就會報錯。
同樣都是做完一件事情,基於tcp就沒錯誤(保證成功),基於udp就有可能存在錯誤。所以http還是用tcp的好,但不是說不能用udp。而且udp還有個劣勢就是它的包體不能過大,過大就傳送不了,如果你要傳送大的檔案就需要自己管理截包和組包,這個是比較麻煩的.(實際上一般udp的包考慮掉必要的包頭協議體,內容最好是不要超過1400位元組)
但是udp也有他的優勢,就是速度(不需要三次握手,而且有發後不管的功能,是某些情況下非同步通訊的最好的模型)。
TCP和UDP的區別,如何選擇使用
tcp和udp是osi模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。udp user datagram protocol udp不提供複雜的控制機制,利用ip提供面向無連線的通訊服務。並且它是將應用程式發來的資料在收到的那一刻,立刻按照原樣傳...
TCP和UDP的區別,如何選擇使用
tcp和udp是osi模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。udp user datagram protocol udp不提供複雜的控制機制,利用ip提供面向無連線的通訊服務。並且它是將應用程式發來的資料在收到的那一刻,立刻按照原樣傳...
TCP和UDP的區別,如何選擇使用
tcp和udp是osi模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。udp user datagram protocol udp不提供複雜的控制機制,利用ip提供面向無連線的通訊服務。並且它是將應用程式發來的資料在收到的那一刻,立刻按照原樣傳...