RESTful 的下结论。RESTful 的总。

1.什么是RESTful?

1.什么是RESTful?

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

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

2.什么是见层?

2.啊是显现层?

  “资源”具体见出的样式,叫做它的”表现层”(Representation)。比如,文本可以用txt格式表现,也可为此HTML格式、XML格式、JSON格式表现,甚至可用二迈入制格式;图片可以用JPG格式表现,也得据此PNG格式表现。

  “资源”具体见出来的花样,叫做它的”表现层”(Representation)。比如,文本可以用txt格式表现,也可据此HTML格式、XML格式、JSON格式表现,甚至好用二上制格式;图片可以用JPG格式表现,也得据此PNG格式表现。

  URI(统一资源定位符)只表示资源的实业,不意味她的花样。严格地说,有些网址最后的”.html”后缀名是不必要的,因为这后缀名表示格式,属于”表现层”范畴,而URI应该单独代表”资源”的职务。它的具体表现形式,应该当HTTP请求的峰信息中用Accept和Content-Type字段指定,这简单单字段才是指向”表现层”的讲述。

  URI(统一资源定位符)只代表资源的实体,不意味她的花样。严格地游说,有些网址最后之”.html”后缀名是不必要的,因为这后缀名表示格式,属于”表现层”范畴,而URI应该只代表”资源”的职位。它的具体表现形式,应该当HTTP请求的条信息中用Accept和Content-Type字段指定,这简单单字段才是对准”表现层”的讲述。

3.态转换什么意思?

3.态转换什么意思?

  访问一个网站,就表示了客户端和服务器的一个相互过程。在斯历程遭到,势必涉及到数量和状态的变。

  访问一个网站,就意味着了客户端与服务器的一个并行过程。在这过程被,势必涉及到多少以及状态的变迁。

   互联网通信协议HTTP协议,是一个不论是状态协议。这意味着,所有的状态还封存在服务器端。因此,如果客户端想使操作服务器,必须透过某种手段,让服务器端发生”状态转化”(State
Transfer)。而这种转化是起家于展现层以上的,所以就算是”表现层状态转化”。

   互联网通信协议HTTP协议,是一个管状态协议。这表示,所有的状态且保留于劳动器端。因此,如果客户端想使操作服务器,必须透过某种手段,让服务器端发生”状态转化”(State
Transfer)。而这种转化是立在见层以上的,所以尽管是”表现层状态转化”。

  客户端用到的招数,只能是HTTP协议。具体来说,就是HTTP协议里,四只代表操作办法的动词:GET、POST、PUT、DELETE。它们各自针对许季种基本操作:GET用来赢得资源,POST用来新建资源(也得以用来创新资源),PUT用来更新资源,DELETE用来删除资源。

  客户端用到的一手,只能是HTTP协议。具体来说,就是HTTP协议里,四只代表操作方式的动词:GET、POST、PUT、DELETE。它们各自对诺季栽基本操作:GET用来博资源,POST用来新建资源(也堪用来创新资源),PUT用来更新资源,DELETE用来删除资源。

  还有几单非普遍的基本操作:PATCH(UPDATE):在服务器更新资源(客户端提供反的特性)、HEAD:获取资源的初数据、OPTIONS:获取信息,关于资源的安性是客户端好更改的。

  还有几单不广泛的基本操作: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:删除某个指定动物园的指定动物
  • 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.总结

4.总结

 

 

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

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

 

 

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

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

 

 

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

  (3)客户端通过四独主要的HTTP动词,对劳务器端资源拓展操作,实现”表现层状态转化”。

5.企划着注意事项

5.计划着注意事项

  URI中并非含动词。为”资源”表示同样种实体,所以应是名词,URI不该发生动词,动词应该置身HTTP协议中。

  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 –
    [*]:服务器出误,用户以无法判定有的要是否中标。
  • 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 –
    [*]:服务器出错误,用户将无法断定出的恳求是否成功。

  

  

 

 

相关文章

admin

网站地图xml地图