深入解析HTTP POST方法与统一接口特性
1. HTTP POST方法的用途
HTTP POST方法有多种用途,常见的有以下几种:
- 对现有资源进行注释。
- 向公告板、新闻组、邮件列表或类似的文章组发布消息。
- 向数据处理过程提供一组数据,例如提交表单的结果。
- 通过追加操作扩展数据库。
POST方法实际执行的功能由服务器决定,通常依赖于请求的URI。所发布的实体从属于该URI,就像文件从属于包含它的目录、新闻文章从属于发布它的新闻组,或者记录从属于数据库一样。
1.1 创建从属资源
在RESTful设计中,POST常用于创建从属资源,即与某个“父”资源相关的资源。例如:
- 博客程序可以将每个博客作为一个资源(如 /weblogs/myweblog ),将各个博客文章作为从属资源(如 /weblogs/myweblog/entries/1 )。
- 支持Web的数据库可以将表作为资源,将各个数据库行作为其从属资源。
要创建博客文章或数据库记录,可向父资源(博客或数据库表)发送POST请求。具体要发布的数据及其格式取决于服务。这也是应用状态转变为资源状态的时刻。这种使用POST的方式有时被称为POST(a),即“追加”。
那么,为什么不能只用PUT来创建从属资源呢?有时是可以的。例如,S3对象是从属资源,每个S3对象都包含在某个S3存储桶中。但我们不是通过向存储桶发送POST请求来创建S3对象,而是直接向对象的URI发送PUT请求。PUT和POST的区别在于:当客户端负责决定新资源的UR
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



