久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

http,websocket和socket詳解

 和合德 2023-08-06 發(fā)布于江蘇

一,HTTP     

        1,概念:http是目前應用最廣泛的一個網(wǎng)絡傳輸協(xié)議,是屬于網(wǎng)絡應用層的面向?qū)ο蟮膮f(xié)議.

       1.1,HTTP1.1解決TCP3次握手4次揮手耗性能問題:

如果有大量的連接,每次在連接,關(guān)閉時都要經(jīng)歷3次握手,4次揮手,這很顯然會造成性能低下.因此,HTTP1.1開始,默認采用持久連接,使用了一種叫做keepalive connections 的機制,它可以在傳輸數(shù)據(jù)后仍然保持連接,當客戶端再次獲取數(shù)據(jù)時,直接使用剛剛空閑下來的連接,而無需再次握手.低線路負載,,提高傳輸速度.

      Keep-Alive不會永久保持連接,,它有一個保持時間,可以在不同的服務器軟件(如Apache)中設(shè)定這個時間,。實現(xiàn)長連接需要客戶端和服務端都支持長連接,。

       1.2,HTTP協(xié)議的長連接和短連接,實質(zhì)上是TCP協(xié)議的長連接和短連接,。

       1.3,TCP長連接:client向server發(fā)起連接,,server接受client連接,雙方建立連接,,client與server完成一次請求后,,它們之間的連接并不會主動關(guān)閉,后續(xù)的讀寫操作會繼續(xù)使用這個連接,。

   2,請求方式:

   一共有8種請求方式,常用的請求方法有OPTIONS,、GET、HEAD,、POST,、PUT、DELETE,、TRACE

   3,返回碼:

   每次請求,都會有狀態(tài)碼返回,常見的狀態(tài)碼有:

   200,請求成功

   206,請求內(nèi)容局部成功

   403,,拒絕或者禁止訪問

   404,客戶端請求語法錯誤,一般是連接地址不對.

   500,服務器出現(xiàn)異常.宕機.

        4.,Http是客服端發(fā)起請求,服務端才響應,發(fā)一次,響應一下,ajax的輪詢,也是讓瀏覽器隔個幾秒就發(fā)送一次請求,,詢問服務器是否有新信息,。這樣就很被動,服務端不能主動聯(lián)系客戶端,,只能由客戶端發(fā)起。得不停的發(fā)起.

二,websocket     

       1,WebSocket就很好的解決被動性問題,只需要完成一次握手,,兩者之間就直接可以創(chuàng)建持久性的連接,,并進行雙向數(shù)據(jù)傳輸。不用再次發(fā)起網(wǎng)絡請求,服務端有消息就會自己發(fā)過來.它允許服務端主動向客戶端推送數(shù)據(jù),。比如在app上websocket獲取并展示客戶的時時消費情況.

        2,WebSocket同HTTP一樣也是應用層的協(xié)議. 都是基于TCP的,,可靠性的傳輸協(xié)議。但是它是一種雙向通信協(xié)議,,是建立在TCP之上的,并且Websocket是一個持久化的協(xié)議,,而HTTP是非持久化的協(xié)議。WebSocket protocol 是HTML5一種新的協(xié)議,但Websocket是基于HTTP協(xié)議的,,或者說借用了HTTP的協(xié)議來完成一部分握手,。一開始的握手需要借助HTTP請求完成。 

        3,WebSocket在建立握手時,,通過 HTTP/1.1 協(xié)議的101狀態(tài)碼進行握手,。但是建立之后,在真正傳輸時候是不需要HTTP協(xié)議的,而是使用TCP協(xié)議.

        4,Websocket使用ws或wss的統(tǒng)一資源標志符,,類似于HTTPS,,其中wss表示在TLS之上的Websocket

       5,Websocket使用和 HTTP 相同的 TCP 端口,可以繞過大多數(shù)防火墻的限制,。默認情況下,,Websocket協(xié)議使用80端口;運行在TLS之上時,,默認使用443端口,。

       6,優(yōu)點:

    實時性更強,很好的控制開銷(協(xié)議的頭部較小),保持連接.

三,socket 

        1,概念:Socket其實并不是一個協(xié)議,而是為了方便使用TCP或UDP而抽象出來的一層,,是位于應用層和傳輸控制層之間的一組接口.

         1.1,在程序內(nèi)部提供了與外界通信的端口,也就是端口通信.它通過建立socket連接,可以為通信雙方的數(shù)據(jù)傳輸提供一個通道

         1.2,它是應用層與TCP/IP協(xié)議族通信的中間軟件抽象層,,是一組接口。在設(shè)計模式中,,Socket其實就是一個門面模式,,它把復雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對用戶來說,,一組簡單的接口就是全部,,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議,。

       2,當兩臺主機通信時,,必須通過Socket連接,Socket則利用TCP/IP協(xié)議建立TCP連接,。TCP連接則更依靠于底層的IP協(xié)議,,IP協(xié)議的連接則依賴于鏈路層等更低層次,。

        3,和機頂盒通信可以采用socket(自己決定采用udp的scoket還是tcp的socket,一般采用的是tcp的socket)

        4, Socket的分類
        4.1, 根據(jù)不同的的底層協(xié)議,Socket的實現(xiàn)是多樣化的.這里只介紹TCP/IP協(xié)議族的內(nèi)容.

        4.2,在這個協(xié)議族當中主要的Socket類型為流套接字(streamsocket)和數(shù)據(jù)報套接字(datagramsocket),。

        4.3,流套接字將TCP作為其端對端協(xié)議,,提供了一個可信賴的字節(jié)流服務。

        4.4,數(shù)據(jù)報套接字使用UDP協(xié)議,,提供數(shù)據(jù)打包發(fā)送服務,。 下面,

       5,tcp的scoket和udp的socket的區(qū)別

       使用UDP方式android端和服務器端接收可以看出,,其實android端和服務器端的發(fā)送和接收大庭相徑,,只要端口號正確了,相互通信就沒有問題,,

        TCP使用的是流的方式發(fā)送,UDP是以包的形式發(fā)送,。

         

         

感謝:

   基于android的Socket通信         

四,總計:

1,傳輸層的TCP是基于網(wǎng)絡層的IP協(xié)議的,,
2,而應用層的HTTP協(xié)議又是基于傳輸層的TCP協(xié)議的,
3,而Socket本身不算是協(xié)議,,就像上面所說,,它只是提供了一個針對TCP或者UDP編程的接口.

(二)websocket 和socket區(qū)別   

    1,websocket是應用層的協(xié)議,而socket是傳輸控制層的協(xié)議.  

(三)websocket 和http區(qū)別        

 相同點:

   1,都是應用層的協(xié)議

   2,都是基于tcp,并且都是可靠的協(xié)議

不同點:

    1,websocket是持久連接的協(xié)議,而http是非持久連接的協(xié)議.

    2,websocket是雙向通信協(xié)議,模擬socket協(xié)議,可以雙向發(fā)送消息,而http是單向的.

    3,websocket的服務端可以主動向客服端發(fā)送信息,而http的服務端只有在客戶端發(fā)起請求時才能發(fā)送數(shù)據(jù),無法主動向客戶端發(fā)送信息.

(四)HTTPS和HTTP的區(qū)別主要為以下四點:

1、https協(xié)議需要到ca申請證書,,一般免費證書很少,,需要交費。

2,、http是超文本傳輸協(xié)議,,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議,。

3,、http和https使用的是完全不同的連接方式,用的端口也不一樣,,前者是80,,后者是443。

4,、http的連接很簡單,,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸,、身份認證的網(wǎng)絡協(xié)議,,比http協(xié)議安全。

五,長連接和短連接

       1,短連接:在HTTP1.0中,,客戶端發(fā)送請求,,服務器接收請求,,雙方建立連接,服務器響應資源,,請求結(jié)束,。

       2,長連接:在HTTP 1.1,客戶端發(fā)出請求,,服務端接收請求,,雙方建立連接,在服務端沒有返回之前保持連接,,當客戶端再發(fā)送請求時,,它會使用同一個連接。這一直繼續(xù)到客戶端或服務器端認為會話已經(jīng)結(jié)束,,其中一方中斷連接,。

       優(yōu)勢:減少了連接請求,降低TCP阻塞,,減少了延遲,,實時性較好。

       劣勢:可能會影響性能,,因為它在文件被請求之后還保持了不必要的連接很長時間,。

借鑒:

WebSocket介紹,與Socket的區(qū)別

https://blog.csdn.net/wwd0501/article/details/54582912

看完讓你徹底搞懂Websocket原理

https://blog.csdn.net/frank_good/article/details/50856585

WebSocket介紹,,與Socket的區(qū)別

https://blog.csdn.net/wwd0501/article/details/54582912

長連接,、短連接、長輪詢和WebSocket

https://blog.csdn.net/sweetsuzyhyf/article/details/60572795

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多