RESTful 的下结论。RESTful 的下结论。

by admin on 2018年10月5日

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 –
    [*]:服务器发错误,用户以无法判定有之请是否成。

  

  

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图