1. 程式人生 > >Android Http連線和TCP連線的區別

Android Http連線和TCP連線的區別

最近看到論文裡提到某個架構選用TCP連線而不是Http連線,意識到自己不知道這兩者的區別,遂查資料補一下知識。

參考自以下部落格內容:

再用自己的話總結提煉一下:

題目是Android Http連線和TCP連線的區別,因為我關注的使用場景是Android環境,其實不管是Android還是PC,應該都是一樣的。

Http是應用層協議,TCP是網路層協議,應用層在TCP/IP四層架構中位於TCP的上一層。建立Http連線在實現時有以下兩種方式

  1. DefaultHttpClient http = new DefaultHttpClient();  
  2. HttpGet method = new HttpGet(url);   
  3. HttpResponse response =http.execute(method);  
  1. URL url = new URL(uri);  
  2. HttpURLConnection connection = (HttpURLConnection)  
  3. url.openConnection();  
  4. connection.connect();  

而TCP連線在實現時要藉助Socket(套接字 IP+埠號)

  1. Socket s = new Socket("localhost"12345);   
我覺得區別從這兩個連線的實現方式就可以看出來,HTTP連線需要指明資源的URL,發出請求的應用不知道伺服器的
IP,雖然域名伺服器也是要把域名解析成IP地址,但不屬於應用所關心的範疇,是網路層應該完成的工作。所以Http連線屬於無狀態的短連線,若再請求其他資料,需要再重新建立連線。客戶端向伺服器傳送請求後,伺服器才知道客戶端的存在。
TCP
連線實現時需要指明IP地址和埠號,就可以跟目的主機通過三次握手建立聯絡,該連線一直保持直到某一方提出取消連線,通過四次握手關閉連線。Socket支援TCP/UDP協議,如果使用TCP協議,那麼socket連線就是TCP連線。論文提到的應用場景是手機與雲端的伺服器建立聯絡,因為要保持連線並指定連線的建立時間,所以在這種場景下使用TCP連線最合適。3G網路不支援端到端建立
TCP連線,因為它是client-server模式,所以需要通過雲端伺服器的輔助來實現手機的端到端通訊。

相關推薦

Android Http連線TCP連線區別

最近看到論文裡提到某個架構選用TCP連線而不是Http連線,意識到自己不知道這兩者的區別,遂查資料補一下知識。 參考自以下部落格內容: 再用自己的話總結提煉一下: 題目是Android Http連線和TCP連線的區別,因為我關注的使用場景是Android環境,其實

UDP連線TCP連線的異同

簡單的說TCP與UDP的區別是有無連線狀態。 TCP是有連線狀態的,而UDP沒有,所以TCP是一種比較安全的通訊協議,而UDP則比較方便 TCP 127.0.0.1:1026 0.0.0.0:0 LISTENING  TCP 是傳輸協議 TCP是主動連線 網頁什麼的用

Linux下 MySQL sock連線TCP連線

這兩天開始自學PHP,連線資料庫的時候發現自己用localhost一直連線失敗,半天也找不出自己程式碼的錯誤; 抱著隨便試試的心態就把localhost改成了127.0.0.1,結果竟然連線成功了。 很好奇為什麼會這樣,就自己去百度了下,特在此記錄下。 原來 Linux

TCP(HTTP)長連線連線區別怎樣維護長連線

一、HTTP協議和TCP協議 HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議

TCP(HTTP)長連線連線區別以及怎樣維護長連線

一、HTTP協議和TCP協議HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議主要

httpTcp的長連線連線

轉自:https://www.cnblogs.com/fubaizhaizhuren/p/7523374.html http協議和tcp/ip 協議的關係 (1) http是應用層協議,tcp協議是傳輸層協議,ip協議是網路協議。 (2) IP協議主要解決網路路由和定址問題 (3)

SQL 內連線連線區別

資料庫的資料: 資料分級: 100 定義的是鎖,110 定義的是門鎖,111定義的是門鎖的種類例如光交門鎖。 那麼 門鎖的種類就是110~190  9 種,具體細分,鎖的種類就是總共:9*9=81種。夠用了。 這種型別的表,適合做自連線。 左外連結:連線2次。左側的資

TCP 三次握手原理以及半連線連線

問題描述 JAVA的client和server,使用socket通訊。server使用NIO。  間歇性的出現client向server建立連線三次握手已經完成,但server的selector沒有響應到這連線。  出問題的時間點,會同時有很多連接出現這個問題

連線連線區別優缺點

TCP與UDP  udp:面向無連線的通訊協議,資料包括目的埠資訊和源埠資訊 優點:面向無連線,操作簡單,要求系統資源較少,速度快,由於不需要連線,可進行廣播發送 缺點:傳送資料之前不需要與對方建立連線,接收到資料時也不需要傳送確認訊號,傳送端不知道接收端是否正確接接收,不會重

tcp的長連線連線

tcp長連線和短連線 TCP在真正的讀寫操作之前,server與client之間必須建立一個連線,當讀寫操作完成後,雙方不再需要這個連線時它們可以釋放這個連線,連線的建立通過三次握手,釋放則需要四次握手,所以說每個連線的建立都是需要資源消耗和時間消耗的。 TCP通訊的整個過程,如下圖: 1. TCP

TCP建立連線斷開連線過程詳解

最近在看TCP這塊知識的時候對TCP連線三次握手斷開四次斷開不是很瞭解,找了下面一片文章講的很詳細,收藏下! 原文地址:http://blog.sina.com.cn/s/blog_60a4fcef0101e813.html TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象

Socket長連線連線區別

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

TCP/IP HTTP Socket UDP的區別聯絡

分層原理 網路由下往上分為: 對應 物理層– 資料鏈路層– 網路層– IP協議 傳輸層– TCP協議 UDP協議 會話層– 表示層和應用層–

HTTP連線連線

1. HTTP協議與TCP/IP協議的關係   HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議主要解決如何在IP層之上可靠的傳遞資料包,使在網路上的另一端收到發端發出的所有包,並且順序

HTTP連線連線

1. HTTP協議與TCP/IP協議的關係 HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議主要解決如何在IP層之上可靠的傳遞資料包,使在網路上

HTTP的長連線連線

  本文總結&分享網路程式設計中涉及的長連線、短連線概念。     關鍵字:Keep-Alive,併發連線數限制,TCP,HTTP 一、什麼是長連線      HTTP1.1規定了預設保持長連線(HTTP persistent connection ,也

談談HTTP協議中的短輪詢、長輪詢、長連線連線

---------------------  作者:左瀟龍  來源:CSDN  原文:https://blog.csdn.net/zuoxiaolong8810/article/details/65441709  版權宣告:本文為博主原創文章,轉載請附上博文連結!

CentOS6.8檢視nginx併發連線TCP連線狀態命令

荊軻刺秦王 1.檢視nginx執行程序數 [[email protected] ~]# ps -ef|grep nginx |wc -l 6 檢視httpd程序數 [[email 

TCPTCP連線管理

TCP段結構中埠地址是16位元,可以有在0~65535範圍內的埠號。對於這65536個埠號,有以下使用規定。 (1)埠號小於256的定義為常用埠,伺服器一般都是通過常用埠號來識別的。任何TCP/IP實現所提供的服務都用1~1023之間的埠號。這些埠號由Internet埠號分配機構來管理

Centos6.5檢視nginx併發連線TCP連線狀態命令

1、檢視nginx執行程序數 [[email protected] logs]# ps -ef | grep nginx | wc -l 10 2、檢視Web伺服器程序連線數 [[email protected] logs]# netstat -antp