1.什么是RESTful?

  REST,即Representational State
Transfer的缩写。”(资源的)表现层状态转化”。

2.如何是显示层?

  “资源”具体表现出来的款型,叫做它的”表现层”(Representation)。比如,文本可以用txt格式表现,也足以用HTML格式、XML格式、JSON格式表现,甚至足以采纳二进制格式;图片可以用JPG格式表现,也足以用PNG格式表现。

  URI(统一资源定位符)只代表资源的实业,不意味着它的格局。严刻地说,有些网址最终的”.html”后缀名是不必要的,因为这多少个后缀名表示格式,属于”表现层”范畴,而URI应该只表示”资源”的职位。它的具体表现情势,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这六个字段才是对”表现层”的讲述。

3.情状转换什么看头?

  访问一个网站,就意味着了客户端和服务器的一个互动过程。在这一个进程中,势必涉及到数码和意况的转变。

   互联网通信协议HTTP协议,是一个无状态协议。这意味,所有的气象都保留在劳务器端。因而,假若客户端想要操作服务器,必须通过某种手段,让服务器端暴发”状态转化”(State
Transfer)。而这种转化是白手起家在显示层以上的,所以就是”表现层状态转化”。

  客户端用到的手段,只可以是HTTP协议。具体来说,就是HTTP协议里面,六个代表操作形式的动词:GET、POST、PUT、DELETE。它们各自对应四种基本操作:GET用来获取资源,POST用来新建资源(也得以用来革新资源),PUT用来更新资源,DELETE用来删除资源。

  还有多少个不普遍的基本操作:PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)、HEAD:获取资源的元数据、OPTIONS:获废除息,关于资源的什么属性是客户端可以改变的。

  举例:

  • GET /zoos:列出所有动物园
  • POST /zoos:新建一个动物园
  • GET /zoos/ID:获取某个指定动物园的音信
  • PUT /zoos/ID:更新某个指定动物园的音讯(提供该动物园的上上下下信息)
  • PATCH /zoos/ID:更新某个指定动物园的音讯(提供该动物园的部分信息)
  • DELETE /zoos/ID:删除某个动物园
  • GET /zoos/ID/animals:列出某个指定动物园的拥有动物
  • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物

4.总结

 

  (1)每一个URI代表一种资源;

 

  (2)客户端和服务器之间,传递这种资源的某种表现层;

 

  (3)客户端通过三个根本的HTTP动词,对服务器端资源开展操作,实现”表现层状态转化”。

5.设计中注意事项

  URI中不要包含动词。因为”资源”表示一种实体,所以应当是名词,URI不应有有动词,动词应该放在HTTP协议中。

  状态码:

  • 200 OK –
    [GET]:服务器成功再次来到用户请求的数额,该操作是幂等的(Idempotent)。
  • 201 CREATED – [POST/PUT/PATCH]:用户新建或涂改数据成功。
  • 202 Accepted – [*]:表示一个呼吁已经进来后台排队(异步任务)
  • 204 NO CONTENT – [DELETE]:用户删除数据成功。
  • 400 INVALID REQUEST –
    [POST/PUT/PATCH]:用户发生的请求有荒唐,服务器并未开展新建或修改数据的操作,该操作是幂等的。
  • 401 Unauthorized –
    [*]:表示用户并未权限(令牌、用户名、密码错误)。
  • 403 Forbidden – [*]
    表示用户得到授权(与401错误相对),可是访问是被取缔的。
  • 404 NOT FOUND –
    [*]:用户爆发的央求针对的是不存在的笔录,服务器并未进展操作,该操作是幂等的。
  • 406 Not Acceptable –
    [GET]:用户请求的格式不可得(比如用户请求JSON格式,可是只有XML格式)。
  • 410 Gone -[GET]:用户请求的资源被永久删除,且不会再赢得的。
  • 422 Unprocesable entity – [POST/PUT/PATCH]
    当创设一个目的时,暴发一个证实错误。
  • 500 INTERNAL SERVER ERROR –
    [*]:服务器发生错误,用户将无法判断暴发的伸手是否中标。

  

 

相关文章

网站地图xml地图