面试题之二HTTP和RPC的区别?

面试题之二

HTTP和RPC的区别?

Ask范围:分布式和微服务

难度指数:4星

考察频率:70-80%

开发年限:3年左右

从三个方面来回答该问题:

一.功能特性

1)HTTP是属于应用层的协议:超文本传输协议,是WWW万维网的基础,主要服务的网页端和服务端的数据传输上。

2)RPC是一个远程过程调用的协议,定位是实现不同计算机之间的数据通信,屏蔽通信底层的协议复杂性,让开发者像使用本地方法(服务)一样来完成远程服务调用。

二.实现原理

1)HTTP是一个已经实现成熟的应用层协议,定义了通信的报文格式。

方法:post get

URI: /form/entry

协议版本:http 1.1

请求头:Request Header

响应头:Response Header

请求体:Request body

响应体:Response body

2)RPC是一种协议的规范,没有具体的实现;只有按照RPC协议完成的通信框架,才是RPC框架,dubbo框架,底层就是RPC协议。RPC用于各个服务之间的调用,会更快,效率更高。

3)从应用层面

HTTP和RPC协议的框架,都能够实现跨网络节点的服务之间通信,二者共同点,底层都是tcp协议。RPC:标注协议,符合RPC协议,属于RPC框架。RPC的网络通信层面可以通过http协议来实现,比如OpenFeign底层,HTTP.

点评:

回答总结,从概念入手,笼统,容易讲; 实现原理,应用层面。

思考:

dubbo框架

OpenFeign服务调用

相关推荐
李昊哲小课24 分钟前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
abbgogo3 小时前
堆叠、DHCP 与链路聚合总结
网络·网络协议
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第216题】【10_网络协议篇】第7题:HTTP 协议和 HTTPS 协议的区别
java·http·网络安全·https·ssl/tls
花生了什么事o10 小时前
WebSocket 与 SSE:实时通信方案的选择
网络·websocket·网络协议
阿昌喜欢吃黄桃10 小时前
Dubbo服务重启时注册中心下线不及时问题排查与修复记录
java·rpc·dubbo·问题排查
大鱼>10 小时前
从零实现TCP/IP协议栈:AR →IP分片→TCP状态机→拥塞控制
网络·网络协议·tcp/ip
paopaokaka_luck11 小时前
基于springboot3+vue3的乡村医生诊疗管理系统(AI助手、协同过滤算法、webSocket实时聊天、Echarts图形化分析)
前端·网络·人工智能·spring boot·websocket·网络协议·echarts
程序猿乐锅11 小时前
【计算机网络 | 第三章】数据链路层
网络·网络协议·计算机网络
烛衔溟12 小时前
HarmonyOS 网络连接 —— HTTP 请求、Axios 与 Socket 通信
http·华为·harmonyos
为啥全要学12 小时前
fastapi websocket全双工通信
websocket·网络协议·fastapi