方法 | 描述 | 是否包含主体 |
---|---|---|
GET | 从服务器获取一份文档 | 否 |
HEAD | 只从服务器获取资源的头部. 用于查看某个资源是否存在, 是否被修改 | 否 |
PUT | 将请求的主体部分存储到服务器上 | 是 |
POST | 向服务器发送要处理的数据 | 是 |
OPTIONS | 请求服务器告知其支持的各种功能, 如支持哪些方法等 | 否 |
DELETE | 请求服务器删除url所指定的资源 | 否 |
TRACE | 对可能经过代理服务器转发到服务器上的报文进行追踪 | 否 |
语义上:
GET方法表达的是一种幂等的, 纯粹的操作, 本身不会对服务器产生副作用, 无论请求多少次, 返回的结果都一样. 因此get请求可以被缓存.
POST方法是非幂等的, 有副作用的, 它通常用来向服务器新增资源, 有副作用的操作, 不能被缓存.
PUT方法是幂等的, 有副作用的操作, 它通常用来表示修改服务器上的资源, 即多次提交后者覆盖前者的效果, 并且服务器是的资源会发生改变.
用法上:
GET方法参数放在url中, POST参数要放在body中
在浏览器中:
GET请求可以直接在地址栏输入来请求, POST不行; GET请求会被记录在历史记录中, POST请求不会.
网友评论