1. 程式人生 > >socket協議 http協議的區別,長短連線,tcp/udp協議區別

socket協議 http協議的區別,長短連線,tcp/udp協議區別

socket http協議的區別

簡單來說,我們平常瀏覽的網頁如果已http://開頭的都是http協議傳輸到我們的瀏覽器的,而http是基於socket之上的,就是說http攜帶資料,socket提供傳輸的動力。socket不是一個協議,只是一個介面或者說是api,socket只是幫助使用者更簡單的建立tcp,udp連結而已。

1. 關於協議

HTTP協議:對應於應用層 ,主要解決如何包裝資料,
TCP協議: 對應於傳輸層
ip協議: 對應傳輸層,主要解決資料如何在網路中傳輸;

Socket:是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API),通過Socket,我們才能使用TCP/IP協議。

2.關於長連線,短連線

http連線:http連線就是所謂的短連線,即客戶端向服務端傳送一次請求,服務端響應後立即斷開連線。

socket連線:socket連線就是所謂的長連線,理論上客戶端跟服務端一旦建立連線就不會主動斷掉;但是由於各種原因可能會斷開,比如:客戶端或者服務端網路斷掉了,網路故障,或者兩者之間長時間沒有訊息互通,系統防火牆可能會中斷連線,釋放網路資源。所以當socket連線中沒有資料傳輸的時候,我們可以自定義傳送特定的訊息,用來維持連線。

3. 總的來說

  1. Socket是一個針對TCP和UDP程式設計的介面,你可以藉助它建立TCP連線等等。而TCP和UDP協議屬於傳輸層 。 http是個應用層的協議,它實際上也建立在TCP協議之上。
    (HTTP是轎車,提供了封裝或者顯示資料的具體形式;Socket是發動機,提供了網路通訊的能力。)
  2. Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API),通過Socket,我們才能使用TCP/IP協議。Socket的出現只是使得程式設計師更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,從而形成了我們知道的一些最基本的函式介面。

4.udp/tcp的區別

1.tcp是一對一面向連線,udp可以一對一也可以一對多連線。

2.tcp穩定可靠不丟包,udp不穩定不可靠會丟包。

3.tcp佔用時間長,佔用資源多,udp佔用時間少,佔用資源少。

4.tcp可以保證資料傳輸的前後順序,udp不能保證。

4.1關於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連線的請求,斷開過程需要經過“四次握手”(過程就不細寫了,就是伺服器和客戶端互動,最終確定斷開)


相關推薦

socket協議 http協議區別長短連線tcp/udp協議區別

socket http協議的區別簡單來說,我們平常瀏覽的網頁如果已http://開頭的都是http協議傳輸到我們的瀏覽器的,而http是基於socket之上的,就是說http攜帶資料,socket提供傳輸的動力。socket不是一個協議,只是一個介面或者說是api,socke

應用層的 TCP/UDP 協議HTTP、FTP、SMTP 等區別

OSI 模型主要作為一個通用模型來做理論分析,而TCP/IP 協議模型是網際網路的實際通訊協議,兩者一般做對映分析,以下不做嚴格區分和宣告(好吧,比較懶); OSI 整個模型層次大致可以分為3個主要層面來看 |.............主機...............| 作業系統和軟體等 應用、表示、會話

網絡編程—網絡基礎概覽、socketTCP/UDP協議

又是 輕量級 多次 所有 兩臺 瀏覽器 進行 網遊 max 網絡基礎概覽 socket概覽 socket模塊—TCP/UDP的實現 TCP/UDP總結 網絡基礎概覽 osi七層協議各層主要的協議 # 物理層傳輸電信號1010101010 # 數據鏈路層,以太網協議

Java網路程式設計(一) TCP/IPhttpsocket連線連線

TCP/IP  TCP/IP是個協議組,可分為三個層次:網路層、傳輸層和應用層。  在網路層有IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。  在傳輸層中有TCP協議與UDP協議。  在應用層有:TCP包括FTP、HTTP、TELNET、SMTP等協議

TCP/UDP協議、理解三次握手四次揮手、Socket

一、什麼是socket? 中文名叫套接字,是對底層的 TCP IP UDP 等網路協議進行封裝,使得上層的應用程式開發者,不用直接接觸這對複雜,醜陋的協議。 在程式設計師的言論,他就是一個封裝好的模組,要完成網路通訊,只需要使用系統提供的socket模組就行,我們通過呼叫模組中已經實現的方法建立兩個程序

內聯左外聯右外聯連線交叉連線區別

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

初夏小談:淺談位元組序TCP,UDP協議

接下來先來說說位元組序 網路位元組序:大小端 CPU在對資料在記憶體中進行存取方向的不同出現了大小端 MIPS ---> RISC處理器 ---> 大端                 &nb

tcp連線連線http短輪詢長輪詢

短連線和長連線: 長輪詢和短輪詢 所謂輪詢,即是在一個迴圈週期內不斷髮起請求來得到資料的機制。只要有請求的地方,都可以實現輪詢,譬如各種事件驅動模型。它的長短是在於請求的返回週期。 短輪詢 短輪詢指的是在迴圈週期內,不斷髮起請求,每一次請求都立即

mysql中內連線連線等值連線非等值連線自然連線區別和聯絡

內連線,外連線實際上都是在笛卡爾積(join)的基礎上對記錄進行篩選。 等值連線和非等值連線:這兩者同時包含在內連線和外連線中,因為內連線和外連線都是需要連線條件的,條件為=則為等值連線,反之為非等值連線。 自然連線:等值連線的一種,使用natural join後面可以不

嵌入式Linux網路程式設計網路基礎OSI七層模型TCP/IP四層模型TCP/IP通訊模型、協議結構、封包與拆包TCP/UDP協議特點及適用情況

文章目錄 1,TCP協議分成了兩個不同的協議----->TCP/IP協議誕生 2,網路的體系結構 2.1,OSI開放系統互聯模型 2.2,TCP/IP協議族的體系結構 3,TCP/IP協議通訊模型 3.1

SQL內連結連線交叉連線聯合連線區別詳解

一、準備工作: 建立資料表並填寫資訊 class表: student表: 二、詳解 1、內連結 INNER JOIN 用於取得兩個表中存在連線匹配關係的記錄(例如:某一列相等)。通常配合比較運算子(=或<>)一起使用。其中

Android使用Socket(Tcp/Udp)協議進行資料傳輸(傳輸大檔案)

Socket是什麼:所謂Socket 通常也稱作”套接字”,用於描述IP地址和埠,是一個通訊鏈的控制代碼。應用程式通常通過”套接字”向網路發出請求或者應答網路請求。Socket內部又有兩種協議(Tcp/Udp),我們來說說其各自的特點。 先來說說網路程式設

SQL 左外連線右外連線連線連線 4種連線區別

?連線條件可在FROM或WHERE子句中指定,建議在FROM子句中指定連線條件。WHERE和HAVING子句也可以包含搜尋條件,以進一步篩選連線條件所選的行。 連線可分為以下幾類: 內連線。(典型的連線運算,使用像 = 或 <> 之類的比較運算子)。包括相等連線和自然連線。 內連線使用比較運算

連線 連線連線和全外連線的4者區別

基本定義:   left join (左連線):返回包括左表中的所有記錄和右表中連線欄位相等的記錄。   right join (右連線):返回包括右表中的所有記錄和左表中連線欄位相等的記錄。   inner join (等值連線或者叫內連線):只返回兩個表中連線欄位相

Spring Boot+Socket實現與html頁面的長連線客戶端給伺服器端發訊息伺服器給客戶端輪詢傳送訊息附案例原始碼

功能介紹 客戶端給所有線上使用者傳送訊息 客戶端給指定線上使用者傳送訊息 伺服器給客戶端傳送訊息(輪詢方式) 注意:socket只是實現一些簡單的功能,具體的還需根據自身情況,程式碼稍微改造下 專案搭建 專案結構圖   pom.xml <?xml version="1.0" encod

TCP/UDP協議

lan 有時 body aik htm 默認 tab 協調 不同 TCP和UDP是OSI模型中的運輸層中的協議。TCP提供可靠的通信傳輸,而UDP則常被用於讓廣播和細節控制交給應用的通信傳輸。 連接: 面向連接的TCP "面向連接"就是在正式通信前必須要與對方建立起連接。比

TCP/UDP協議簡要梳理

重復數 文件下載 相對 協議 proto 可靠性 提交 需要 wid TCP/UDP協議簡要梳理 TCP TCP,Transmission Control Protocol,傳輸控制協議是一種面向連接的、可靠的、基於字節流的傳輸層通信協議。在因特網協議族中,TCP所在的層位

異常處理與網絡基礎中的tcp,udp協議

server 數據 ati exc mac地址 成功 soc 不可靠 處理 # 異常處理: # 什麽是異常?異常和錯誤的區別 # Error 語法錯誤 比較明顯的錯誤 在編譯代碼階段就能檢測出來 # Iteration 異常 在執行代碼的過程中引發

TCP/UDP 協議

傳輸層建立埠到埠的通訊。 網路層的 ip 為我們區分子網,乙太網層的 mac 幫我們找到主機。然後大家使用的都是應用程式,你的電腦上可能同時開啟qq,暴風影音,等多個應用程式,那麼我們通過ip和mac找到了一臺特定的主機,如何標識這臺主機上的應用程式,答案就是埠,埠即應用程式與網絡卡關聯的編號。 tcp協議

TCP/UDP協議——資料流和資料包

TCP/UDP協議——資料流和資料包 資料流可以分成多個有序的資料包。 TCP傳輸:有連線的資料流服務。tcp提供可靠的傳輸機制,也就是說只要是被髮送的資料都會被接收方接收到,並且雙方也知道被正確接收了。 UDP傳輸:無連線的資料報服務。udp不負責可靠傳輸,他只知道盡最大的努力把資料傳