知识卡片

POST与PUT的幂等性差异

专业/工作 · 477.a.1

内容

创建资源既可以用POST也可以用PUT,两者都符合REST风格,区别在于是否提前知道要操作的确切资源位置:PUT要求调用方明确指定URL并整体替换该位置的资源,无论调用多少次结果都一样(幂等)——第一次创建,之后重复调用只是把同样的数据再写一遍;POST只创建资源、由服务器决定新URL,每发散:这个区别在实践里最直接的影响是网络重试策略——客户端超时后能不能安全地重发同一个请求,取决于这个操。

参考来源

- 位置:《Go Web编程》第7章《Go Web服务》(源文件:_epub-src/OEBPS/text00021.html) - 结论依据:原文在该章节围绕“创建资源既可以用POST也可以用PUT,两者都符合REST风格,区别在于是否提前知道要操作的确切资源位置:PU…”给出定义、示例或限制条件;摘录中的术语、代码片段或对比关系直接支撑本卡片的结论。 - 原始内容:据传输方式存在。因为本书只会对SOAP Web服务进行考察,所以我们将通过HTTP协议来说明被传输的SOAP报文。 下面是一个经过简化的SOAP请求报文示例: POST /GetComment HTTP/1.1 Host: www.chitchat.com Content-Type: application/soap+xml; chars…