導航:首頁 > 網路共享 > 網路協議http和socket哪個快

網路協議http和socket哪個快

發布時間:2022-05-15 10:16:03

❶ 關於網路協議Socket和Http介紹一下

代理方式的不同:
選擇Socket,Opera的官方伺服器會自動將你訪問網頁的更新內容Push到瀏覽器中,這樣你再次訪問有新內容的舊網頁時,速度會快很多。
選Http,則是在每次訪問網頁時,才連接到伺服器進行Push,速度會稍慢一些。

❷ 手機客戶端應用網路通信是用socket還是http好

手機客戶端 與伺服器通信,通常是CS模式,當然是用普通socket了,HTTP其實也是socket,只不過他是基於TCP的短連接,功能有限,除了可以剔除暫時不用的鏈路外,優點不明顯,相反缺點多:
HTTP採用明文傳輸,安全方面不行,socket可以採用自定義協議,所以更加安全.
HTTP通常是短連接,沒法收到伺服器主動推送的消息,socket則可以,通常是常連接
HTTP傳輸比較佔用流量,而用socket則只是結構體對齊,省去了變數的名詞
HTTP解析速度慢,而用socket則通常不需要解析,只是簡單的判斷消息類型,即可.

當然用HTTP開發速度快,很容易就完成一個APP界面

❸ socket和http哪個比較靠譜

我認為還是http好,因為你說的不太穩定並不是http的錯,http作為短連接(每一次請求都會開啟一個socket,收到響應後關閉)非常適合你這種查詢類需求。
你說的socket長連接並不能解決網路不穩定的問題,長連接適合於交互類的需求(聊天,你說一句我回一句),如果用長連接作為查詢類需求的話,1是太浪費資源了,2是網路故障難以調試,3是明顯的增加了編碼難度。
建議先從網路和硬體的角度解決故障,軟體層面http和tcp並沒有優劣之分。

❹ 請簡述http和socket的區別

socket連接和http連接的區別
HTTP協議:簡單對象訪問協議,對應於應用層 ,HTTP協議是基於TCP連接的
tcp協議: 對應於傳輸層
ip協議: 對應於網路層
TCP/IP是傳輸層協議,主要解決數據如何在網路中傳輸;而HTTP是應用層協議,主要解決如何包裝數據。
Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用介面(API),通過Socket,才能使用TCP/IP協議。
http連接:http連接就是所謂的短連接,即客戶端向伺服器端發送一次請求,伺服器端響應後連接即會斷掉;
socket連接:socket連接就是所謂的長連接,理論上客戶端和伺服器端一旦建立起連接將不會主動斷掉;但是由於各種環境因素可能會是連接斷開,比如說:伺服器端或客戶端主機down了,網路故障,或者兩者之間長時間沒有數據傳輸,網路防火牆可能會斷開該連接以釋放網路資源。

❺ socket與http那個更快些都是連接net么

暈,socket是基礎套接字,http 是傳輸協議,沒有socket套接字,你如何用HTTP ! socket如插孔和插頭,http 是電線的一種,你插孔和插頭都沒插上,電線會有電嘛?

❻ RPC、http、tcp/ip、udp、socket以及soap協議都有什麼相同點和不同點

TCP/IP協議是一個協議簇。裡麵包括很多協議的。UDP只是其中的一個。之所以命名為TCP/IP協議,因為TCP,IP協議是兩個很重要的協議,就用他兩命名了。
tcp和udp都是傳輸協議,主要區別是tcp協議連接需要3次握手,斷開需要四次握手,是通過流來傳輸的,就是確定連接後,一直發送信息,傳完後斷開。udp不需要進行連接,直接把信息封裝成多個報文,直接發送。所以udp的速度更快寫,但是不保證數據的完整性和數據順序,(這個是可以在實現時通過驗證手段來手動確定完整性)。
http協議是建立在TCP協議之上的一種應用,是Web聯網的基礎,最顯著的特點是客戶端發送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連接。從建立連接到關閉連接的過程稱為「一次連接」。
socket並不是一種協議,是在程序員層面上對TCP/IP協議的封裝和應用。其實是一個調用介面,方便程序員使用TCP/IP協議棧而已。程序員通過socket來使用tcp/ip協議。但是socket並不是一定要使用tcp/ip協議,Socket編程介面在設計的時候,就希望也能適應其他的網路協議。
rpc是一種通過網路從遠程計算機程序上請求服務,而不需要了解底層網路技術的協議。
初學情況下只要了解http協議和調用http協議,java使用httpClient,還有socket編程就好了。RPC我也了解的不多。

❼ socket和http間的區別

最大區別socket是網路層,http是應用成。。
socket是一個程序組件,它支持TCP,UDP等網路通訊協議,也就是通過socket這個東西你可以和任何互聯網或區域網上的計算機通訊。。。TCP,UDP是一個網路層協議,網路層協議不管你發的內容是啥,他只負責把你想法的東西發到對面,發的是啥,他完全不管,因為他不是應用層。。。。
http是應用層協議,在socket的TCP層之上,他是管你發送的內容是什麼的,比如你發的是啥,圖片還是文字還是視頻數據流,發成功了沒有,用什麼語言發,都做了詳細的定義,這樣可以保證寫軟體的人只要按照約定處理數據,就能得到想要的結果。。。
通訊的目的就是應用,所以應用是頂層,否則你發的是坨屎,還是別的什麼,無從知道,因為數據都是二進制數據流,必須描述清楚,約定好。。。

❽ http和socket通信的區別

其實這樣比是有問題的,http實際上是一種應用級協議,常用的是http1.0和http 1.1協議。而socket則是一個連接,它直接在鏈路層上進行連接。在該連接的基礎之可以實現各種應用級協議。如通過socket可以實現ftp協議、http、https、NetBIOS、Win、Iron等等,甚至於可以實現藍牙(藍牙連接在.net中不被支持,是因為socket所需參數的協議簇中枚舉中沒有藍牙,但可以直接通過數據,實現與藍牙的通信)。所以http是一個協議與Socket連接是沒有可比性的,在.net中,可實現http協議的連接。
正是因為socket功能的強大,所以對於socket編程一般用於特殊一點的協議或高性能網路要求的情況下才使用這種編程。如果是一般的tcp/ip,在.net中已經實現了其功能封裝。例如WebClient實現http/https,再如.net 4.5新增的HttpClient也可以實現同的功能。但這些功能較為狹窄,那麼在.net中的可插入協議是一個中庸的選擇。目前實現的有HttpWebRequest/FtpWebRequest。並且可繼承WebRequest實現自己的可插入協議。

也就是說,如果我們與httpClient或WebClient與Scoket相比的話,WebClinet/HttpClient是實現特定功能的Socket封裝,它減少開發周期,但底層還是Socket。如果WebRequest與Socket相比的話,WebRequest是實現特定協議的Socket封閉,並可實現可插入協議。換句來說,WebClient是完完全全的一個通信類,而WebRequest則算是一個協議開發類(它已經實現了FtpWebRequest及HttpWebRequest),而Socket則是底層開發。

❾ opera的socket和http網路協議有什麼不同求解答

socket相當於在伺服器中建立了緩存,當你打開一個網頁時,點擊網頁中的任何一個連接,速度會很快,緩存已經事先幫你處理好了。而http協議沒有伺服器預存,沒次操作都要重新建立連接,速度相對慢些。兩者消耗的流量socket較多,不過很微小,可以忽略。

❿ socket,tcp,http三者之間的區別和原理是什麼

http、TCP/IP協議與socket之間的區別

網路由下往上分為:

物理層--

數據鏈路層--

網路層-- IP協議

傳輸層-- TCP協議

會話層--

表示層和應用層-- HTTP協議

(1)TCP/IP連接

手機能夠使用聯網功能是因為手機底層實現了TCP/IP協議,可以使手機終端通過無線網路建立TCP連接。TCP協議可以對上層網路提供介面,使上層網路數據的傳輸建立在「無差別」的網路之上。

建立起一個TCP連接需要經過「三次握手」

第一次握手:客戶端發送syn包(syn=j)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;

第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀態;

第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手。

握手過程中傳送的包里不包含數據,三次握手完畢後,客戶端與伺服器才正式開始傳送數據。理想狀態下,TCP連接一旦建立,在通信雙方中的任何一
方主動關閉連接之前,TCP

連接都將被一直保持下去。斷開連接時伺服器和客戶端均可以主動發起斷開TCP連接的請求,斷開過程需要經過「四次握手」(過程就不細寫了,就是伺服器和客
戶端交互,最終確定斷開).

(2)HTTP連接

HTTP協議即超文本傳送協議(Hypertext Transfer Protocol ),是Web聯網的基礎,也是手機聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用。

HTTP連接最顯著的特點是客戶端發送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連接。從建立連接到關閉連接的過程稱為「一次連接」。

1)在HTTP 1.0中,客戶端的每次請求都要求建立一次單獨的連接,在處理完本次請求後,就自動釋放連接。

2)在HTTP 1.1中則可以在一次連接中處理多個請求,並且多個請求可以重疊進行,不需要等待一個請求結束後再發送下一個請求。

由於HTTP在每次請求結束後都會主動釋放連接,因此HTTP連接是一種「短連接」,要保持客戶端程序的在線狀態,需要不斷地向伺服器發起連接
請求。通常的做法是即時不需要獲得任何數據,客戶端也保持每隔一段固定的時間向伺服器發送一次「保持連接」的請求,伺服器在收到該請求後對客戶端進行回
復,表明知道客戶端「在線」。若伺服器長時間無法收到客戶端的請求,則認為客戶端「下線」,若客戶端長時間無法收到伺服器的回復,則認為網路已經斷開。

(3)SOCKET原理

3-1套接字(socket)概念

套接字(socket)是通信的基石,是支持TCP/IP協議的網路通信的基本操作單元。它是網路通信過程中端點的抽象表示,包含進行網路通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議埠,遠地主機的IP地址,遠地進程的協議埠。

應用層通過傳輸層進行數據通信時,TCP會遇到同時為多個應用程序進程提供並發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個
TCP協議埠傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了套接字(Socket)介面。應
用層可以和傳輸層通過Socket介面,區分來自不同應用程序進程或網路連接的通信,實現數據傳輸的並發服務。

3-2建立socket連接

建立Socket連接至少需要一對套接字,其中一個運行於客戶端,稱為ClientSocket ,另一個運行於伺服器端,稱為ServerSocket 。

套接字之間的連接過程分為三個步驟:伺服器監聽,客戶端請求,連接確認。

伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連接的狀態,實時監控網路狀態,等待客戶端的連接請求。

客戶端請求:指客戶端的套接字提出連接請求,要連接的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連接的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連接請求。

連接確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連接請求時,就響應客戶端套接字的請求,建立一個新的線程,把伺服器端套接字的描
述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連接。而伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連接請求。

(4)SOCKET連接與TCP/IP連接

創建Socket連接時,可以指定使用的傳輸層協議,Socket可以支持不同的傳輸層協議(TCP或UDP),當使用TCP協議進行連接時,該Socket連接就是一個TCP連接。

socket則是對TCP/IP協議的封裝和應用(程序員層面上)。也可以說,TPC/IP協議是傳輸層協議,主要解決數據 如何在網路中傳輸,而HTTP是應用層協議,主要解決如何包裝數據。關於TCP/IP和HTTP協議的關系,網路有一段比較容易理解的介紹:

「我們在傳輸數據時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如
果沒有應用層,便無法識別數據內容,如果想要使傳輸的數據有意義,則必須使用到應用層協議,應用層協議有很多,比如HTTP、FTP、TELNET等,也
可以自己定義應用層協議。WEB使用HTTP協議作應用層協議,以封裝HTTP文本信息,然後使用TCP/IP做傳輸層協議將它發到網路上。」

我們平時說的最多的socket是什麼呢,實際上socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用介面

(API),通過Socket,我們才能使用TCP/IP協議。 實際上,Socket跟TCP/IP協議沒有必然的聯系。Socket編程接

口在設計的時候,就希望也能適應其他的網路協議。所以說,Socket的出現
只是使得程序員更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,從而形成了我們知道的一些最基本的函數介面,比如create、
listen、connect、accept、send、read和write等等。網路有一段關於socket和TCP/IP協議關系的說法比較容易理解:

「TCP/IP只是一個協議棧,就像操作系統的運行機制一樣,必須要具體實現,同時還要提供對外的操作介面。這個就像操作系統會提供標準的編程介面,比如win32編程介面一樣,TCP/IP也要提供可供程序員做網路開發所用的介面,這就是Socket編程介面。」

實際上,傳輸層的TCP是基於網路層的IP協議的,而應用層的HTTP協議又是基於傳輸層的TCP協議的,而Socket本身不算是協議,就像上面所說,它只是提供了一個針對TCP或者UDP編程的介面。socket是對埠通信開發的工具,它要更底層一些.

(5)Socket連接與HTTP連接

由於通常情況下Socket連接就是TCP連接,因此Socket連接一旦建立,通信雙方即可開始相互發送數據內容,直到雙方連接斷開。但在實際網路應用中,客戶端到伺服器之間的通信往往需要穿越多個中間節點,例如路由器、網關、防火牆等,大部分防火牆默認會關閉長時間處於非活躍狀態的連接而導致 Socket 連接斷連,因此需要通過輪詢告訴網路,該連接處於活躍狀態。

而HTTP連接使用的是「請求—響應」的方式,不僅在請求時需要先建立連接,而且需要客戶端向伺服器發出請求後,伺服器端才能回復數據。

很多情況下,需要伺服器端主動向客戶端推送數據,保持客戶端與伺服器數據的實時與同步。此時若雙方建立的是Socket連接,伺服器就可以直接
將數據傳送給客戶端;若雙方建立的是HTTP連接,則伺服器需要等到客戶端發送一次請求後才能將數據傳回給客戶端,因此,客戶端定時向伺服器端發送連接請
求,不僅可以保持在線,同時也是在「詢問」伺服器是否有新的數據,如果有就將數據傳給客戶端。

http協議是應用層的協義

有個比較形象的描述:HTTP是轎車,提供了封裝或者顯示數據的具體形式;Socket是發動機,提供了網路通信的能力。

兩個計算機之間的交流無非是兩個埠之間的數據通信,具體的數據會以什麼樣的形式展現是以不同的應用層協議來定義的`如HTTP`FTP`...

閱讀全文

與網路協議http和socket哪個快相關的資料

熱點內容
電腦上怎麼看網路丟包網路延時 瀏覽:719
中信中國移動網路機頂盒怎麼刷機 瀏覽:884
如何借力網路電影 瀏覽:394
為什麼王者榮耀網路延遲很長 瀏覽:137
聯通家庭網路共享設置 瀏覽:742
網路seo要多少錢 瀏覽:184
哪裡投訴網路差地方 瀏覽:291
提供網路靈敏度在哪裡找 瀏覽:216
巨人網路每股凈資產多少錢 瀏覽:295
辦理寬頻無線網路一般多少錢 瀏覽:929
全國網路歌手分布哪個省居多 瀏覽:648
網路電視插電腦上沒有信號 瀏覽:790
長沙網路技術學校哪個好 瀏覽:135
蘋果卡沒網路怎麼辦 瀏覽:191
網路周遊是什麼 瀏覽:402
筆記本搜不到自家無線網路怎麼辦 瀏覽:935
計算機網路層次的傳輸 瀏覽:434
小米盒子增強版怎麼連接網路 瀏覽:218
中廣網路哪裡有 瀏覽:1000
計算機網路最早出現在哪呢 瀏覽:756

友情鏈接