美文网首页
Restful API简介

Restful API简介

作者: BlueSkyBlue | 来源:发表于2020-06-18 19:49 被阅读0次

REST是一种架构风格,Restful指的是基于REST实现的Web服务。它基于HTTP,通过标准的HTTP方法(GET, POST, PUT, DELETE)来返回数据。

为什么要使用Restful API:

  • 分离前后端。Rest是独立于平台和语言的。
  • 灵活,可扩展。
  • 可适用于多种形式(XML, JSON etc)
  • 建立在HTTP之上,可以使用HTTP的缓存。
  • 很容易使用。

为什么我们要使用API:
如果有两个不同平台的网络,我们要在互相之间建立联系,这时就需要一种统一的交互方式,此时我们需要使用到API。

SOAP: Simple Object Access Protocol。可以用来创建WCF(Windows Communication Foundation),返回的是XML。Web服务只有SOAP服务。

Web API对应Restful services。Web Services对应SOAP services。

REST和SOAP对比:

  • REST使用了标准的API,使得操作十分简单,创建客户端,开发API,文档更加的简单。
  • REST支持更多的数据格式,SOAP只支持XML。
  • REST有更好的性能和扩展性。REST的读取可以被缓存起来,而SOAP的读取无法被缓存。

REST的限制:

  • Client-Server
  • Statelessness
  • Cache
  • Uniform interface
  • Layered system
  • Code on demand

Client-Server

发起请求的实体称为Client,持有资源并响应请求的实体为Server。Client和Server是分离开来的,它们可以各自演化。

Statelessness

Server端不存储任何和Client端有关的信息,这也意味着所有信息都在请求中。

Cache

每一个响应都可以被缓存。对于之后的请求,客户端可以从缓存中检索,并把请求发给服务器。减少网络延迟。

Uniform interface

Uniform interface是区分Rest API和Non-Rest APIs的关键点。
Uniform interface有四要素:

  • 唯一的确定资源(通过URL)。
  • 通过表示的方式来操控资源。
  • 每一个请求都有描述信息。
  • HATEOS(Hyper Engine of the Engine of application State)

能够使所有的组件以同样的方式进行交互。

Layered system

REST架构是一层一层组成的,每一层都互相独立。这减轻了系统的复杂性,并增加了安全性。当一层收到攻击,不会影响其它层,但是也增加了网络的延迟。

Code on demand

服务端可以为客户端提供可运行的代码。这条特性减轻了可视性。

相关文章

网友评论

      本文标题:Restful API简介

      本文链接:https://www.haomeiwen.com/subject/weqpxktx.html