什么是API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节
拿python编程举例,我们都知道python中具有那些功能丰富的扩展库,我们都是直接导入调用,只需要了解功能需求,而不必关注实现代码。比如我们要生成一个0到100之间的随机2的倍数的整数,只需用 number = random.randrange(0,100,2)
不用考虑它的实现方法。API类似于此,被别人已经写好了的方法,你只需要去通过一个接口调用而不用去关心它的源码。
什么是Restful
Restful其实是一种设计理念或是设计原则。
现在越来越多人理解到网站其实也应该按照软件的设计方式来构造,这种互联网软件的实现需要一种标准而又清晰明了的架构,而restful就是时下最流行的一种互联网软件架构。
首先要了解什么是REST(Representational State Transfer),因为restful就是遵守REST标准的实际风格。它翻译过来就是表现层状态转化。看名字根本难以理解是什么意思,到底什么是表现层,转化成什么呢?
这里就要说到资源问题,这里的资源不仅包含物理资源,比如图片、文本等,还包含抽象资源,比如计算能力。依据REST理念,要将这些资源转化为我们“”可看的“”形式,实际上就是将一个URL指向某项资源。现在这些url就代表了资源实体,它的表现形式应该在http请求信息的字段中得以体现,这就是表现层。简单来说,一个url代表一种资源。
那什么是转化呢?我的理解是客户端让服务器端“发生转化“。所有的状态都是在服务器上的,客户端访问网站,想要操作服务器端,则必须通过Http协议(GET、POST、PUT、DELETE等)使得服务器端”发生转化”,这种转化是基于表现层上的。
现在我们就能了解到Restful Api就是符合REST架构设计的API