RPC(Remote Procedure Call,远程过程调用)风格
本质:像调用远程方法一样调用 API。
特点:所有操作统一用 POST 或 GET 请求一个固定的 Endpoint
GET https://ccc.aliyuncs.com/?Action=ListCallDetailRecords
&Version=2017-07-05
&InstanceId=ccc-123456
&StartTime=2025-09-01T00%3A00%3A00Z
&EndTime=2025-09-02T00%3A00%3A00Z
&AccessKeyId=xxxx
&Signature=xxxx
RESTful 风格
本质:通过资源路径表示操作对象。
特点:用 不同的 URL 路径表示资源。
GET https://api.example.com/v1/recordings?instanceId=ccc-123456
对比点 | RPC 风格 | RESTful 风格 |
---|---|---|
请求 URL | 一个固定 endpoint,动作靠参数 Action 指定 |
URL 路径即资源,比如 /recordings/123 |
HTTP 方法 | 多数用 GET/POST | GET/POST/PUT/DELETE 等 |
参数传递 | QueryString 或 FormData | JSON 请求体 / URL Path |
易读性 | 动作由参数决定,可读性弱 | 语义清晰,可读性强 |
阿里云 API | 大部分采用 RPC 风格 | 新产品/国际化 API 部分支持 RESTful |