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地图