首页 > 代码库 > HTTP 与TCP/IP 、Socket区别(一)

HTTP 与TCP/IP 、Socket区别(一)

HTTP:超文本传输协议,

首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。

TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,

HTTP是应用层协议,主要解决如何包装数据。

HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。

HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。

 Socket:

Socket不属于协议范畴,而是一个调用接口(API),

Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。

Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。

HTTP 与TCP/IP 、Socket区别(一)