网络

发布时间 2023-10-14 15:31:50作者: 邹木木

1、网路层次的划分

image

1-1 OSI七层网络模型 与 TCP/IP五层协议

image

1.1.1Rpc和Http的区别

相同点:底层通讯都是基于socket,都可以实现远程调用,都可以实现服务调用服务

不同点:

是什么 优缺点 框架 典型
RPC 远程过程调用 速度快,效率高 webservie(cxf)、dubbo(阿里巴巴开源的基于 Java 的高性能 RPC)、(RMI远程方法调用)Hessian 典型:早期的webservice,现在热门的dubbo
Http 一种网络传输协议 优势:通用性强; 缺点是消息封装臃肿 HttpClient 现在热门的Rest风格

RPC:Remote Produce Call远程过程调用;
自定义数据格式,基于原生TCP通信,速度快,效率高。
典型:早期的webservice,现在热门的dubbo
框架:webservie(cxf)、dubbo(阿里巴巴开源的基于 Java 的高性能 RPC)、(RMI远程方法调用)Hessian
跨操作系统在同一编程语言内使用

Http:是一种网络传输协议,基于TCP,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务调用。
优势:通用性强
缺点是消息封装臃肿。
典型:现在热门的Rest风格
http的实现技术:HttpClient
跨系统跨编程语言的远程调用框架

总结:对比RPC和http的区别
1 RPC要求服务提供方和服务调用方都需要使用相同的技术,要么都hessian,要么都dubbo
而http无需关注语言的实现,只需要遵循rest规范
2 RPC的开发要求较多,像Hessian框架还需要服务器提供完整的接口代码(包名.类名.方法名必须完全一致),否则客户端无法运行
3 Hessian只支持POST请求
4 Hessian只支持JAVA语言

详情:https://zhuanlan.zhihu.com/p/110424162