08、http协议和dubbo协议的区别

  • Post author:
  • Post category:其他




一、http协议介绍

HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。

HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了



二、dubbo介绍

Dubbo是 Alibaba 开源的分布式服务框架远程调用框架,在网络间传输数据,就需要通信协议和序列化。

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的,默认也是用的dubbo协议。



三、http协议和dubbo协议的区别

http协议和dubbo协议的区别主要有三点:

  • 协议层区别
  • socket层区别
  • 安全不一样



协议层区别

HTTP ,HTTPS 使用的是 应用层协议

应用层协议:定义了用于在网络中进行通信和传输数据的接口

DUBBO接口使用的是 TCP/IP是传输层协议 传输层协议:管理着网络中的端到端的数据传输


决定了dubbo协议比http协议要快



socket层区别

dubbo默认使用socket长连接,即首次访问建立连接以后,后续网络请求使用相同的网络通道

http1.1协议默认使用短连接,每次请求均需要进行三次握手,而http2.0协议开始将默认socket连接改为了长连接



安全方面

dubbo设计之初基本都是考虑内网通讯,安全上基本没什么考虑,比http的安全差远了。

  • 当前我们也可以做一些针对应用权限校验或者ip校验的。



特点

rpc长连接、传输效率较高,可定制化路由,适用于内部系统互联;

http短连接,协议标准化且易读,容易对接外部系统,适用于上层业务模块



版权声明:本文为weixin_34507573原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。