談?wù)凷ocket請求和Http請求的各自特點、區(qū)別及適用場景

Socket實現(xiàn)服務(wù)器與客戶端之間的物理連接,并進(jìn)行數(shù)據(jù)傳輸。主要有TCP/UDP兩個協(xié)議。Socket處于網(wǎng)絡(luò)協(xié)議的傳輸層。

socket的一個特點是他可以是"長鏈接",也就是說除非雙方主動斷開,否則,他不會自動斷開.這個特點非常的好,很多應(yīng)用都會需要長鏈接,不過缺點是他太博愛了,來者不拒,而且還不好檢查,所以,為了保持服務(wù)器資源的最大利用率,通常我們會要求雙方通過定時的心跳方式來確認(rèn)長鏈接的有效性.只要心跳不存在,服務(wù)器就可以及時剔除掉這些死鏈接.

心跳機(jī)制是TCP在一段時間間隔后發(fā)送確定連接端是否還存在,如果存在的話就會回傳一個包確定網(wǎng)絡(luò)有效,如果心跳包有問題,則通知上層應(yīng)用當(dāng)前網(wǎng)絡(luò)有問題了。

TCP:傳輸控制協(xié)議,面向連接的的協(xié)議,穩(wěn)定可靠。當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數(shù)據(jù)。

tcp協(xié)議有一個特點就是三次握手:

第一次

第一次握手:建立連接時,客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn);SYN:同步序列編號(Synchronize Sequence Numbers)。

第二次

第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài);

第三次

第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED(TCP連接成功)狀態(tài),完成三次握手。

完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù),

UDP:廣播式數(shù)據(jù)傳輸,UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達(dá)目的地。由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接,且沒有超時重發(fā)等機(jī)制,故而傳輸速度很快。

優(yōu)點:

1.傳輸數(shù)據(jù)為字節(jié)級,傳輸數(shù)據(jù)可自定義,數(shù)據(jù)量小。相應(yīng)的移動端開發(fā),手機(jī)費(fèi)用低

2.傳輸數(shù)據(jù)時間短,性能高

3.適合C/S之間信息實時交互

4.可以加密,數(shù)據(jù)安全性高

缺點:?

1.需要對傳輸?shù)臄?shù)據(jù)進(jìn)行解析,轉(zhuǎn)化為應(yīng)用級的數(shù)據(jù)

2.對開發(fā)人員的開發(fā)水平要求高

3.相對于Http協(xié)議傳輸,增加了開發(fā)量

http全文是超文本傳輸協(xié)議,是一種萬維網(wǎng)常用的協(xié)議,它是TCP協(xié)議的一種典型上的應(yīng)用,Http請求主要有http協(xié)議,基于http協(xié)議的soap協(xié)議,常見的http數(shù)據(jù)請求方式有g(shù)et和post,web服務(wù)

優(yōu)點:

1.基于應(yīng)用級的接口使用方便

2.要求的開發(fā)水平不高,容錯性強(qiáng)

缺點:?

1.傳輸速度慢,數(shù)據(jù)包大。

2.如實現(xiàn)實時交互,服務(wù)器性能壓力大

3.數(shù)據(jù)傳輸安全性差

HTTP協(xié)議:簡單對象訪問協(xié)議,對應(yīng)于應(yīng)用層??,HTTP協(xié)議是基于TCP連接的

tcp協(xié)議:??? 對應(yīng)于傳輸層

ip協(xié)議:???? 對應(yīng)于網(wǎng)絡(luò)層

TCP/IP是傳輸層協(xié)議,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸;而HTTP是應(yīng)用層協(xié)議,主要解決如何包裝數(shù)據(jù)。

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

http連接:http連接就是所謂的短連接,即客戶端向服務(wù)器端發(fā)送一次請求,服務(wù)器端響應(yīng)后連接即會斷掉;

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

Socket適用場景:網(wǎng)絡(luò)游戲,銀行交互,支付。

http適用場景:公司OA服務(wù),互聯(lián)網(wǎng)服務(wù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內(nèi)容