HTTP為什麼使用TCP

2021-06-08 18:23:16 字數 1212 閱讀 8883

1,如果用udp,網頁原始檔傳輸後不是會錯誤百出嘛,瀏覽器解析的時候不是瘋掉了!!!

2,udp鏈結不安全,不可靠,主要應用在不安全性要求不高,效率要求比較高的應用程式,比如聊天程式

http要處理電子商務的應用。

3,http協議只定義了應用層的東西,下層的可靠性要傳輸層來保證,但是沒有說一定要用tcp,只要是可以保證可靠性傳輸層協議都可以承載http,比如有基於sctp的http實現。 http也不是不能通過udp承載,在手機上就有人自己開發基於reliable udp的http協議,不過都是非標準的

tcp和udp的區別:

現在internet上流行的協議是tcp/ip協議,該協議中對低於1024的埠都有確切的定義,他們對應著internet上一些常見的服務。這些常見的服務可以分為使用tcp埠(面向連線)和使用udp埠(面向無連線)兩種。

說到tcp和udp,首先要明白「連線」和「無連線」的含義,他們的關係可以用乙個形象地比喻來說明,就是打**和寫信。兩個人如果要通話,首先 要建立連線——即打**時的撥號,等待響應後——即接聽**後,才能相互傳遞資訊,最後還要斷開連線——即掛**。寫信就比較簡單了,填寫好收信人的位址 後將信投入郵筒,收信人就可以收到了。從這個分析可以看出,建立連線可以在需要痛心地雙方建立乙個傳遞資訊的通道,在傳送方傳送請求連線資訊接收方響應 後,由於是在接受方響應後才開始傳遞資訊,而且是在乙個通道中傳送,因此接受方能比較完整地收到傳送方發出的資訊,即資訊傳遞的可靠性比較高。但也正因為 需要建立連線,使資源開銷加大(在建立連線前必須等待接受方響應,傳輸資訊過程中必須確認資訊是否傳到及斷開連線時發出相應的訊號等),獨佔乙個通道,在 斷開連線錢不能建立另乙個連線,即兩人在通話過程中第三方不能打入**。而無連線是一開始就傳送資訊(嚴格說來,這是沒有開始、結束的),只是一次性的傳 遞,是先不需要接受方的響應,因而在一定程度上也無法保證資訊傳遞的可靠性了,就像寫信一樣,我們只是將信寄出去,卻不能保證收信人一定可以收到。

tcp是面向連線的,有比較高的可靠性,一些要求比較高的服務一般使用這個協議,如ftp、telnet、smtp、http、pop3等,而 udp是面向無連線的,使用這個協議的常見服務有dns、snmp、qq等。對於qq必須另外說明一下,qq2003以前是只使用udp協議的,其伺服器 使用8000埠,偵聽是否有資訊傳來,客戶端使用4000埠,向外傳送資訊(這也就不難理解在一般的顯ip的qq版本中顯示好友的ip位址資訊中埠 常為4000或其後續埠的原因了),即qq程式既接受服務又提供服務,在以後的qq版本中也支援使用tcp協議了。

HTTP為什麼使用TCP

1,如果用udp,網頁原始檔傳輸後不是會錯誤百出嘛,瀏覽器解析的時候不是瘋掉了!2,udp鏈結不安全,不可靠,主要應用在不安全性要求不高,效率要求比較高的應用程式,比如聊天程式 http要處理電子商務的應用。3,http協議只定義了應用層的東西,下層的可靠性要傳輸層來保證,但是沒有說一定要用tcp,...

TCP為什麼可靠 安全

tcp為什麼安全可靠 1 序列號與確認號 當傳送錯誤的時候,會發生 a 超時重傳機制 傳送方傳送的報文中含有序列號,每當傳送乙個報文後,就啟動乙個計時器 rto 該計時器的時間一般是有當前網路來決定的,乙個rtt指的是當乙個報文從傳送到接收到對應的ack標誌的時間,rto的決定一般是傳送方嘗試傳送幾...

為什麼要減少HTTP請求

http請求頭的資料量 每次請求都會帶上一些額外的資訊進行傳輸,當請求的資源很小,比如1個不到1k的圖示,可能request帶的資料比實際圖示的資料量還大。所以當請求越多的時候,在網路上傳輸的資料自然就多,傳輸速度自然就慢了。其實request自帶的資料量還是小問題,畢竟request能帶的資料量還...