HTTP中POST、GET、PUT、DELETE的区别
半年前的面试提到了,当时答得不是很好,最近突然想到赶紧记下来搜了一下,现在总结一下 避免自己忘记。
在讲述请求状态的方法之前要清楚url是什么 ,这些请求方法都是基于http的url进行的,so
URL是什么:
统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
Http定义交互方法
HTTP定义了与服务器交互的不同的方法,最基本的是POST、GET、PUT、DELETE,而URL描述了一个网络上资源,而post、delete、get、put就是对这个资源进行增、删、查、改的操作!
GET请求:会向数据库发送索取数据的请求来获取数据,该请求就像数据库的 select 操作一样,只用来查询数据,不会增加、修改数据,不会影响资源的内容。
PUT请求:是向服务器端发送数据的,从而改变内容。该请求就像数据库的 update 操作一样,用来修改数据的内容,但是不会增加数据的条数。
(在Restful中PATCH请求同样是修改数据,不同的是,PUT类似于将某条(某行)数据全部提出进行修改后全部提交,而PATCH类似于将某列或某几列的内容修改后提交,该请求是一个局部更新,后端仅更新接收到的字段。如果进行部分修改显然PATCH是更优的选择!)
POST请求:同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的条数,就像数据库的 insert 操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
DELETE请求:顾名思义,就是用来删除某一个资源的,该请求就像数据库的 delete 操作。
综上所述,我们可理解为以下:
1、POST /url 新增
2、DELETE /url/xxx 删除
3、PUT /url/xxx 更新 修改
4、GET /url/xxx 查看