1. 程式人生 > >Socket請求和Http請求的各自特點、區別及適用場景 (轉)

Socket請求和Http請求的各自特點、區別及適用場景 (轉)

網絡協議 strong 將不 控制 應用 如何 傳輸安全 socket實現 訪問協議

http://blog.csdn.net/hexinli/article/details/50500316

Socket實現服務器與客戶端之間的物理連接,並進行數據傳輸。主要有TCP/UDP兩個協議。Socket處於網絡協議的傳輸層。
TCP:傳輸控制協議,面向連接的的協議,穩定可靠。當客戶和服務器彼此交換數據前,必須先在雙方之間建立一個TCP連接,之後才能傳輸數據。
UDP:廣播式數據傳輸,UDP不提供可靠性,它只是把應用程序傳給IP層的數據報發送出去,但是並不能保證它們能到達目的地。由於UDP在傳輸數據報前不用在客戶和服務器之間建立一個連接,且沒有超時重發等機制,故而傳輸速度很快。 優點: 1.傳輸數據為字節級,傳輸數據可自定義,數據量小。相應的移動端開發,手機費用低 2.傳輸數據時間短,性能高 3.適合C/S之間信息實時交互 4.可以加密,數據安全性高 缺點: 1.需要對傳輸的數據進行解析,轉化為應用級的數據 2.對開發人員的開發水平要求高 3.相對於Http協議傳輸,增加了開發量
Http請求主要有http協議,基於http協議的soap協議,常見的http數據請求方式有get和post,web服務
優點: 1.基於應用級的接口使用方便 2.要求的開發水平不高,容錯性強 缺點: 1.傳輸速度慢,數據包大。 2.如實現實時交互,服務器性能壓力大 3.數據傳輸安全性差

HTTP協議:簡單對象訪問協議,對應於應用層 ,HTTP協議是基於TCP連接的

tcp協議: 對應於傳輸層

ip協議: 對應於網絡層
TCP/IP是傳輸層協議,主要解決數據如何在網絡中傳輸;而HTTP是應用層協議,主要解決如何包裝數據。

Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用接口(API),通過Socket,我們才能使用TCP/IP協議。

http連接:http連接就是所謂的短連接,即客戶端向服務器端發送一次請求,服務器端響應後連接即會斷掉

socket連接:socket連接就是所謂的長連接,理論上客戶端和服務器端一旦建立起連接將不會主動斷掉;但是由於各種環境因素可能會是連接斷開,比如說:服務器端或客戶端主機down了,網絡故障,或者兩者之間長時間沒有數據傳輸,網絡防火墻可能會斷開該連接以釋放網絡資源。所以當一個socket連接中沒有數據的傳輸,那麽為了維持連接需要發送心跳消息~~具體心跳消息格式是開發者自己定義的



Socket適用場景:網絡遊戲,銀行交互,支付。 http適用場景:公司OA服務,互聯網服務。

Socket請求和Http請求的各自特點、區別及適用場景 (轉)