常见的各种协议之间的关系的总结

1、http是应用层的协议,是基于tcp的;

      http1.0是无状态的短连接,http1.1是无状态的伪长连接;

      HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。如果需要服务端主动给客户端发消息需要用到socket。

2、java socket 可以基于tcp,也可以基于udp;

     基于tcp的包含长连接和短连接,客户端和服务端都允许主动断开连接,主动断开的那一边会出现time_wait状态,被动断开的一方会出来close_wait。理论上来讲,只要双方都不断开连接,他们之间的连接就会一直存在,但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致Socket 连接断连,因此需要心跳包来维持它们之间的连接。

3、websocket可以理解为http协议的升级,可以实现长连接;

     客户端和服务端都可以发送和接受消息;比如消息推送的场景就需要用到websocket。

4、webservice包含soap和restful两种方式;

扫描二维码关注公众号,回复: 754727 查看本文章

     SOAP=RPC+HTTP+XML,把http当成传输层的协议来使用;

     restful:把http当成是应用层的协议来使用

5、分布式调用经历的阶段:1)RMI 2)XML 3)RPC(远程过程调用) 4)SOAP(简单对象访问协议) 5)RESTFUL

    

    

猜你喜欢

转载自ganxueyun.iteye.com/blog/2247891