HTTP 请求方法和应用场景
根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
应用场景
GET
基于“URL”地址问号传参;
一般用于向服务器获取资源,例如查询数据库的数据等;
成功返回200
POST
基于“请求”主体把消息发送给服务器;
一般用于请求新增或修改资源,例如提交表单,新增用户等;
先发送header,服务器响应100,再发送data,成功响应201
PUT
修改资源
DELETE
删除某个资源
OPTIONS
OPTIONS请求一般是客户端向服务端判断对某个资源是否有访问权限。
HEAD
HEAD请求一般是用来获取某个资源的metadata信息,比如说某份报告的关键描述信息等。
get和post的区别
get相对post是不安全的,因为get基于问号传参,数据请求被存放在URL中,而post是基于请求主体,操作对于用户是不可见的,相对比较安全
Get传送的数据量较小,主要是由于get基于URL进行传参,URL的长度受浏览器和服务器的限制(http协议本身是不限制URL长度的),post相对比较大,一般默认为不受限制
Get限制From表单的数据集的值必须为ASCLL字符,而Post支持整个ISO10646字符集
PUT和PATCH区别
PUT和PATCH都是用来修改服务端某个资源的,但是PUT和PATCH修改时提交的数据是不同的,PUT是将整个资源的信息都提交到服务端,包括修改的,未修改的都提交到服务端,而PATCH只提交已修改的字段到服务端。而服务端对PUT请求应该是整体替换,PATCH请求只修改提交的字段。所以PUT请求应该是幂等的,即多次提交同一个请求,结果是相同的