Android Http连接和TCP连接的区别

如题所述

Http是应用层协议,TCP是网络层协议,应用层在TCP/IP四层架构中位于TCP的上一层。

建立Http连接在实现时有以下两种方式:
1、[java] view plaincopy
DefaultHttpClient http = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse response =http.execute(method);
2、[java] view plaincopy
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.connect();

而TCP连接在实现时要借助Socket(套接字 IP+端口号)
[java] view plaincopy
Socket s = new Socket("localhost", 12345);

  区别从这两个连接的实现方式就可以看出来,HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,服务器才知道客户端的存在。
  TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。论文提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-11
http是应用层协议,tcp是传输层协议,tcp为http提供服务。tcp负责了数据传输的可靠性。而Http是典型的利用tcp实现短连接,客户端发出一次请求,服务器回应后立刻断开!tcp还能实现长连接来实现像即使通讯和推送。不只是安卓,在任何网络设备都适用这个原理!本回答被提问者和网友采纳

Android Http连接和TCP连接的区别
区别从这两个连接的实现方式就可以看出来,HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,...

http协议与tcp协议区别
了解HTTP协议与TCP协议的区别,首先需要明确两者在性质上的不同。HTTP是一个简单的请求-响应协议,而TCP则是一种面向连接的、可靠的、基于字节流的传输层通信协议。连接层面,TCP连接到不同但互连的计算机通信网络的主计算机中的成对进程之间提供可靠的通信服务。HTTP通常运行在TCP之上,其主要功能在于指定...

android Socket连接 与 http连接有什么区别
创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。5、Socket连接与HTTP连接 由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络...

http和tcp有哪些区别?
TCP协议与HTTP协议在功能与应用层面上有着本质的区别。TCP主要关注于数据传输的可靠性与效率,通过建立连接、数据分段、确认应答等机制确保数据传输的稳定。而HTTP协议则更侧重于定义资源的访问与交互规则,通过请求与响应的过程实现内容的获取与展示。尽管如此,二者紧密相连,TCP提供稳定可靠的传输通道,而HTT...

TCP\/IP协议与HTTP协议区别
1、TCP\/IP连接 手机能够使用联网功能是因为手机底层实现了TCP\/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。2、HTTP连接 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的...

HTTP 长连接和 TCP 长连接有什么区别?
HTTP 1.1引入了长连接,允许客户端在一个TCP连接上发送多个HTTP请求,通过添加特定的头部信息,如Connection: keep-alive,来启用这个功能。长连接的维持取决于客户端和服务器的协商,一旦协议达成,连接就会保持直到一方主动关闭。相比之下,TCP的Keepalive是内核层的机制,它是一种保活策略。当两个TCP...

http协议和tcp协议的区别是什么?
HTTP协议(超文本传输协议)则属于应用层协议,它建立在TCP协议之上,用于在互联网上进行客户端与服务器间的通信。HTTP协议通过简单和状态无连接的设计,允许客户端向服务器请求资源,并接收服务器的响应。HTTP协议支持多种请求方法,如GET、POST等,并使用状态码来表示请求的执行结果。区别之一在于功能范围:...

HTTP协议 与 TCP协议 的区别,作为web程序员必须要懂
在TCP\/IP模型中,HTTP属于应用层协议。客户端与服务器之间的连接通过TCP建立,通过三次握手确保连接的正确性和可靠性。HTTP长连接与TCP长连接的主要区别在于TCP长连接需要客户端和服务端维护心跳策略来检测连接状态,而HTTP长连接则通过请求头设置实现长连接,简化了连接管理。HTTP协议的几个重要概念包括请求...

HTTP和TCP\/IP协议的区别和联系
HTTP和TCP\/IP协议是网络通信中的两个关键组成部分,它们各自承担着不同的职责。HTTP协议,作为应用层协议,其核心功能是数据的包装和传输,它基于TCP连接,但具有特定的请求-响应模式,主要用于获取网络资源。在HTTP的交互中,服务器被动地等待客户端的请求,不会主动推送信息。相比之下,TCP\/IP协议位于...

请问HTTP协议传输和TCP协议传输的区别?
1、性质不同:http是一个简单的请求-响应协议。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。2、连接不同:TCP连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。http通常运行在TCP之上。指定了客户端可能发送给服务器什么样的消息以及得到什么样的...

相似回答