一句话总结
✅ HTTP 是“快递车” ✅ JSON-RPC 是“包裹格式 + 约定好的指令” ✅ RESTful 是“快递行业的一种规范路线”
它们不是一个层级的东西,所以经常会混在一起让人迷糊。
1. HTTP 协议是什么?
小白理解:
HTTP 就是互联网传输数据的“运输协议”。
就像你网购:
- 你下单(请求 request)
- 商家发货(响应 response)
HTTP 就负责:
- 请求怎么发出去?
- 响应怎么回来?
- 用 GET 还是 POST?
- 状态码 200、404 是什么意思?
📌 HTTP 只管传输,不管你传的是什么内容。
2. JSON-RPC 2.0 是什么?
JSON-RPC 是一种“远程调用协议”。
小白理解:
它不是快递车,而是包裹里面的“说明书”。
你发给服务器的内容长这样:
json
{
"jsonrpc": "2.0",
"method": "addUser",
"params": {
"name": "Tom"
},
"id": 1
}它规定:
- 你要调用哪个方法(method)
- 参数是什么(params)
- 返回结果对应哪个请求(id)
📌 JSON-RPC 的核心是:
✅ “我不是访问资源,我是在调用函数!”
3. HTTP 和 JSON-RPC 有什么区别?
| 对比点 | HTTP | JSON-RPC |
|---|---|---|
| 是什么层级 | 传输协议 | 调用协议(应用层格式) |
| 作用 | 负责传输请求响应 | 规定调用方法和参数格式 |
| 类比 | 快递车 | 包裹里的说明书 |
| 是否必须一起用 | 可以单独用 | 通常跑在 HTTP 上 |
📌 JSON-RPC 经常是:
JSON-RPC + HTTP POST
4. RESTful 接口又是什么?
RESTful 是一种 Web API 的设计风格。
小白理解:
RESTful 就像“快递行业标准路线”:
- 你要查用户 → GET /users/1
- 你要新增用户 → POST /users
- 你要删除用户 → DELETE /users/1
REST 的核心是:
✅ “我操作的是资源(Resource)”
而不是函数调用。
5. RESTful 和 JSON-RPC 的关系?
它们是两种不同风格:
JSON-RPC 风格(调用函数)
http
POST /rpc
{
"method": "getUser",
"params": { "id": 1 }
}特点:
- 所有请求都走一个入口
- 重点是 method(方法名)
RESTful 风格(操作资源)
http
GET /users/1特点:
- URL 就是资源
- 用 HTTP 动词表达操作
6. 最简单的类比总结
| 概念 | 类比 |
|---|---|
| HTTP | 快递运输系统(车+路) |
| RESTful | 快递行业规范(路线+规则) |
| JSON-RPC | 包裹内容格式(说明书:调用哪个函数) |
7. 什么时候用 REST,什么时候用 JSON-RPC?
用 RESTful 更适合:
✅ 对外开放 API ✅ Web 系统标准接口 ✅ 资源清晰(用户、订单、商品)
用 JSON-RPC 更适合:
✅ 内部系统调用 ✅ 方法很多但资源不清晰 ✅ 类似函数调用(如区块链、微服务)
最后一句话帮你记住
RESTful:“我要访问资源” JSON-RPC:“我要调用方法” HTTP:“我负责把消息送过去”

评论功能
当前站点为 GitHub Pages 镜像版本,不支持评论功能。
如需发表评论,请访问主域名版本:
🚀 前往 主域名 版本评论