HTTP方法的深度探源与RESTful API的设计思想

即使写程序很多年的老鸟,能真正说清楚道明白HTTP方法(HTTP Verbs / Methods)的也不多,多数都只会使用而不知道所以然。每个人都知道使用GET、POST方法,使用也很熟练,但是底层设计思想并不一定了解。这里,来认真梳理一下HTTP方法背后设计的逻辑。

HTTP Verbs,从词的本意来说,HTTP方法本质上是一组动作,它们是语义化(Semantics )的行为约束。

一. HTTP方法10种

HTTP 标准里常见的方法是这10 个:

方法主要作用
GET获取资源
POST提交数据 / 创建资源
PUT完整替换资源
PATCH部分修改资源
DELETE删除资源
HEAD获取响应头,不返回正文
OPTIONS查询服务器支持哪些方法/能力
CONNECT建立隧道
TRACE请求回显,用于诊断
QUERY发出搜索请求