HTTP请求方法
不同的业务场景会使用不同的请求方法,
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
不同请求方法的比较
请求方法 | 描述 | 请求类型 | 语法 |
---|---|---|---|
GET | 仅查询目的资源数据 | query | GET /index.html |
POST | 用于修改目的资源的内容,改变数据的种类 | body | POST /index.html |
HEAD | 类似于 GET 请求,用于获取报头,没有响应体 | query | HEAD /index.html |
OPTIONS | 获取目的资源所支持的通信选项(支持哪些请求方法) | query | OPTIONS /index.html |
PUT | 用于替换服务端数据的内容,但不会增加数据的种类,幂等。 | body | PUT /new.html HTTP/1.1 |
PATCH | 用于对资源进行部分修改。 非幂等。 | body | PATCH /file.txt HTTP/1.1 |
DELETE | 用来删除某一个资源,幂等。 | 可以有body | DELETE /file.html HTTP/1.1 |
TRACE | 实现沿通向目标资源的路径的消息环回(loop-back)测试,提供了一种实用的 debug 机制。 | query | TRACE /index.html |
CONNECT | 开启一个客户端与所请求资源之间的双向沟通的通道。它可以用来创建隧道(tunnel)。 | query | CONNECT www.example.com:443 HTTP/1.1 |
非幂等:连续多个的相同请求会产生不同的效果。
幂等:连续多个的相同请求会产生同样的效果。
query:query是指请求的参数,一般是指URL中?后面的参数,Params它会将参数放入url的?后面提交到后台(带到请求的接口链接里)。
body:是指请求体中的数据。
POST主要作用在一个集合资源之上的(url),而PUT主要作用在一个具体资源之上的(url/xxx)