Web Service进阶(九)Socket请求和Http请求的各自特点、区别及适用场景

举报
SHQ5785 发表于 2020/12/30 01:19:40 2020/12/30
【摘要】 #Socket请求和Http请求的各自特点、区别及适用场景 ##1.Socket请求       Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。 TCP:传输控制协议,面向连接的的协议,稳定可靠。在客户端和服务器彼此交换数据前,...

#Socket请求和Http请求的各自特点、区别及适用场景
##1.Socket请求

      Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。

  • TCP:传输控制协议,面向连接的的协议,稳定可靠。在客户端和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。
  • UDP:广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

优点:

  • 1.传输数据为字节级,传输数据可自定义,数据量小。相应的移动端开发,手机费用低;
  • 2.传输数据时间短,性能高;
  • 3.适合C/S之间信息实时交互;
  • 4.可以加密,数据安全性高;

缺点:

  • 1.需要对传输的数据进行解析,转化为应用级的数据;

  • 2.对开发人员的开发水平要求高;

  • 3.相对于Http协议传输,增加了开发量;

##2. Http请求

      Http请求主要有http协议,基于http协议的soap协议,常见的http数据请求方式有get和post,web服务。
优点:

  • 1.基于应用级的接口使用方便;
  • 2.要求的开发水平不高,容错性强;

缺点:

  • 1.传输速度慢,数据包大。
  • 2.如实现实时交互,服务器性能压力大;
  • 3.数据传输安全性差;

###Http、TCP、IP协议

  • HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的。
  • tcp协议: 对应于传输层;
  • ip协议: 对应于网络层;
    ###敲黑板

      TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。

      Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。
##3. Socket请求和Http请求区别

  • http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;
  • socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。所以当一个socket连接中没有数据的传输,那么为了维持连接需要发送心跳消息~~具体心跳消息格式是开发者自己定义的。

##4. Socket请求和Http请求适用场景

  • Socket适用场景:网络游戏,银行交互支付
  • http适用场景:公司OA服务,互联网服务。
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/e415b30dbbbc5ab4a2c1175b0e899fa7.png)
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/5ea7f92a4b50d8465587c45e4b34108a.png)
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/f26b6c802951d54cd92c22204011ed16.png)

文章来源: shq5785.blog.csdn.net,作者:No Silver Bullet,版权归原作者所有,如需转载,请联系作者。

原文链接:shq5785.blog.csdn.net/article/details/80040207

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。