WEB点对点程序传输数据,是用HTTP协议?还是TCP/IP协议?

    Tcp/Ip协议和Http协议有什么区别,两个Web程序点对点传送数据,你会选择那一个?今天在网上看到这样一个面试题目,引发了一连串的查找资料,复习网络知识的事件……

    大家都知道,http是网络应用层协议,而TCP/IP属于网络传输层协议,两者层次不同,没有办法进行比较。但是,个人认为,这个题目的亮点不在于两个协议的区别,而是在于两个Web程序点对点传输数据,要用哪一个协议?

    关于两个协议的区别和联系,就不在这多说了,引用来自网上的一段话:我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也 可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

    那么,两个Web程序点对点传输数据,究竟用哪个协议呢?

    我们先来看看http协议的一些描述和特性:

    1、HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

    2、HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。

WEB点对点程序传输数据,是用HTTP协议?还是TCP/IP协议?

    3、http协议永远都是客户端发起请求,服务器端回送响应。

WEB点对点程序传输数据,是用HTTP协议?还是TCP/IP协议?

    这样,就限制了使用http协议无法实在客户端没有发起请求的时候,服务器端将消息推送给客户端。

    因此,就回答了本文标题提出的问题,Web程序,在点对点传输数据时,使用Http协议,是无法实现的。