无忧建站网,php做的网站用什么后台,百度公司电话是多少,沈阳百度快照优化公司1. API是什么#xff1f;
API#xff08;Application Programming Interface#xff0c;应用程序编程接口#xff09;是一些预先定义的函数或者接口#xff0c;目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力#xff0c;而又无须访问源码#xf…1. API是什么
APIApplication Programming Interface应用程序编程接口是一些预先定义的函数或者接口目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力而又无须访问源码或理解内部工作机制的细节。——百度百科
2. 怎么实现一个 API 服务器
要实现一个 API 服务器首先要考虑两个方面API 风格和媒体类型。Go 语言中常用的 API 风格是 RPC 和 REST常用的媒体类型是 JSON、XML 和 Protobuf。在 Go API 开发中常用的组合是 gRPCProtobuf 和RESTJSON。
3. REST是什么
RESTREpresentational State Transfer首次出现在 2000 年 Roy Thomas Fielding 的博士论文中它指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful 的。
资源ResourcesREST 是“表现层状态转化”其实它省略了主语。“表现层”其实指的是“资源”的“表现层”。那么什么是资源呢我们平时网上访问到图片、文字、文档、多媒体等就是资源一般通过 URI 来定位。也就是说一个 URI 就表示一个资源。表现层Representation资源是作为一个具体的实体信息它可以有多种的展现方式。而把实体展现出来就是表现层。例如一个 txt 文本信息它可以输出成 html、json 等。状态转化State Transfer访问一个网站就代表了客户端和服务器的一个互动过程。在这个过程中就涉及到数据和状态的变化。而 HTTP 协议是无状态的那么这些状态肯定保存在服务器端所以如果客户端想要通知服务器端改变数据和状态的变化就要通过某种方式来通知它。客户端能通知服务器端的手段只能是 HTTP 协议。具体来说就是 HTTP 协议里面四个表示操作方式的动词GET、POST、PUT、DELETE。它们分别对应四种基本操作GET 用来获取资源POST 用来新建资源也可以用于更新资源PUT 用来更新资源DELETE 用来删除资源。 综上所述我们总结一下什么是 RESTful 架构 每一个 URI 代表一种资源 客户端和服务端之间传递这种资源的某种表现层 客户端通过四个 HTTP 动词对服务端资源进行操作实现“表现层状态转化”
4. RPC又是什么
RPCRemote Procedure Call Protocol远程过程调用协议是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议。它假定某些传输协议的存在如 TCP 或 UDP以便为通信程序之间携带信息数据。通过它可以使函数调用模式网络化。在 OSI 网络通信模型中RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。
5. REST 还是 RPC
RPC 优点 调用简单清晰透明不用像 rest 一样复杂就像调用本地方法一样简单 高效低延迟性能高 自定义协议让传输报文提及更小 性能消耗低高效的序列化协议可以支持高效的二进制传输 自带负载均衡
RPC 缺点
耦合性强无法跨语言平台敏感
REST优点: 耦合性低兼容性好提高开发效率 不用关心接口实现细节相对更规范更标准更通用跨语言支持
REST缺点:
性能不如 RPC 高