HTTP TCP/IP Socket

参考文章地址:

http://www.cnblogs.com/xclidongbo/p/4032904.html?utm_source=tuicool&utm_medium=referral


HTTP协议:超文本传输协议。

1.以明文方式发送数据;

2.用于从www服务器传输超文本到本地浏览器的传输协议;

3.基于TCP/IP为基础的高层协议。

网络七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

HTTP→应用层,超文本传输协议;用于封装数据;

TCP/UDP→传输层,传输控制协议;

IP协议→网络层;

TCP/IP协议→传输层协议,主要解决数据在网络中的传输;

WEB使用HTTP协议作为应用层协议,将数据封装,再使用TCP/IP做传输层协议,将数据发送。

Socket→是一个接口,对TCP/IP协议进行封装;通过Socket才可以使用TCP/IP协议;

HTTP连接(短连接)

客户端每次发送请求后,都需要服务器端回送响应,请求结束后,主动释放链接,所以为短连接。

通常做法是,不需要任何数据,客户端每隔一段时间就会向服务器端发送“保持连接”的请求,这样可以保证客户端在服务器端一直处于“上线”状态。

TCP连接

三次握手:

1.客户端向服务器端发送请求,同时自己处于SEND状态;

2.服务器接收到客户端的请求,向客户端回送响应,同时自己处于RECEIVE的状态;

3.客户端接收到服务器端的响应,再发送一个确认信息,发送完毕后双方都进入连接状态;

握手期间不传输数据,三次握手之后,才开始传输数据。并且在理想状态下,TCP连接一旦建立,就会一直保持下去,除非其中一方主动断开连接。

Socket连接

建立连接至少需要一对套接字,serverSocket和clientSocket;

1.服务器监听:服务器不定位具体客户端套接字clientSocket,而是时刻处于监听状态;

2.客户端请求:客户端向服务器端提出请求,并描述它想要连接的服务器端,提供地址和端口号;

3.连接确认:服务器端接收到客户端请求后,响应客户端请求,并建立一个新的线程,将服务器端的serverSocket描述发送给客户端,一旦客户端确认了描述,连接就被建立。并且服务器继续处于监听状态来接收其他客户端发来的请求。

Socket连接与TCP连接

建立Socket连接时,可以指定传输层协议,TCP协议的话就是TCP连接,UDP协议的话就是UDP连接。

Socket连接与HTTP连接

通常情况下,Socket连接就是TCP连接,那么这种情况下,连接一旦建立,客户端和服务器端开始持续传输数据,直至连接断开。实际应用中,由于网络节点过多,会被节点断开连接,因此需要轮询高速网络,让节点处于活跃状态。

HTTP连接使用“请求-响应”方式,在请求时建立连接,服务器端接收到客户端请求后,才返回数据。

Socket连接:适用于服务器端需要向客户端推送数据来保持双方数据同步的情况;

HTTP连接:适用于客户端一直向服务器端发送请求,保持在线状态,并且询问是否有新的数据,如果有新的数据再将数据回传给客户端的情况。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值