目录
一、API
API是一组接口函数,对外提供服务的接口,使用者不用关心服务的具体实现,只关注此接口即可。
二、RESTfu API
1.RESTful规范
RESTful API是基于RESTful规范的API接口, RESTful规范包括REST准则和Http协议两部分内容;REST是Representational State Transfer的简称,即资源表征状态转化;Http协议为超文本传输协议,它是一种无状态的协议。在RESTful规范中每种资源都对应一个唯一的标识uri,所有的接口都遵循统一接口原则,统一接口规定访问资源下的任何数据,都是通过使用相同的接口进行资源的访问。接口应该使用标准的HTTP方法如GET,PUT和POST,并遵循这些方法的语义。
2.资源的表述
客户端通过HTTP方法可以获取资源,准确来说,客户端获取的只是资源的表述而已。 资源在外界的具体呈现,可以有多种表述(或成为表现、表示)形式,在客户端和服务端之间传送的也是资源的表述,而不是资源本身。 例如文本资源可以采用html、xml、json等格式,图片可以使用PNG或JPG展现出来。
资源的表述包括数据和描述数据的元数据,例如,HTTP头"Content-Type" 就是这样一个元数据属性。
那么客户端如何知道服务端提供哪种表述形式呢?
答案是可以通过HTTP内容协商,客户端可以通过Accept头请求一种特定格式的表述,服务端则通过Content-Type告诉客户端资源的表述形式。
3.无状态性
RESTFUL只要维护资源的状态,而不需要维护客户端的状态。对于它来说,每次请求都是全新的,它只需要针对本次请求作相应的操作,不需要将本次请求的相关信息记录下来以便用于后续来自相同客户端请求的处理。即所有的资源都可以URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而变化