问题:

  大家有用过PUT方式吗,一直弄不明白它与POST方式的区别

 回复: 

   在更新资源的操作上,POST 和 PUT 基本相同。

   在创建资源时,PUT可以指定资源路径,POST无法指定资源路径。

   如下:  



put post区别   

POST:
> modify and update a resource
POST /questions/<existing_question> HTTP/1.1

> create a resource:
POST /questions HTTP/1.1

> Note that the following is an error:
POST /questions/<new_question> HTTP/1.1

PUT:
> To overwrite an existing resource:
PUT /questions/<existing_question> HTTP/1.1

> create a resource:
PUT /questions/<new_question> HTTP/1.1


 

 

知识点: 



1.RestfulAPI 导图

   了解下restFul风格中动态的区别_d3

   说明:     

​    (1)REST​​: Representational State Transfer 

     (2)url 对应服务器上的一种资源,e.g. 数据,图片等,

     (3)所以url 中只含有名词,通过HTTP动词来描述对资源的操作方式。

     (4)REST指的是一组架构约束条件和原则

     (5)理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例

      

     HTTP 动词

      (1)GET: 获取资源

      (2)POST:创建或更新资源

      (3)PUT: 创建或更新资源

      (4)DELETE:删除资源

      (5)HEAD:获取请求报文头部,不常用

      (6)OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的, 不常用

       了解下restFul风格中动态的区别_请求报文_02

 

2.Get方法执行流程原理

 了解下restFul风格中动态的区别_5e_03

 

 3.Put 方法执行流程图

   了解下restFul风格中动态的区别_d3_04

 

  

4.安全性和幂等性

  了解下restFul风格中动态的区别_客户端_05

 

5.网络上资源的定义

  (1)在web上,我们使用URL来为每个资源提供一个全球唯一的地址,

      将一个事物赋以URL,它就会成为一个资源

   (2)芒果可以是一个资源,但是你不可能通过互联网传输它,

       数据库中的一条记录可以是一个资源,并且可以通过互联网传输。

  (3)资源的表述:

      当客户端对一个资源发起一个Get请求的时候,

      服务器会以一种有效的方式提供一个采集了资源信息的文档作为回应。

      这种资源信息的文档就是一种表述,一种以机器可读的方式对资源当前的状态进行说明

      常见的有JSON格式和xml格式