📖 文档
最佳实践
使用 GET 和 POST

仅使用 GETPOST

在 restful API 规范中:

  • GET 用来获取
  • POST 用来新增
  • PUT 用来更新
  • DELETE 用来删除

但在实际情况中,推荐仅使用 GET / POST,减少复杂度。

为什么不推荐使用其他的方法,有以下理由:

  • 浏览器支持有限

历史上,浏览器在 HTML 表单中对于 GET 和 POST 之外的 HTTP 方法的支持有限。尽管现代的 Web 框架和 AJAX 技术改善了这种情况,但仍然可能存在某些浏览器或 Web 服务器不完全支持 DELETE 和 PUT 的情况。

  • 缓存和代理

一些 Web 代理和缓存机制可能无法正确处理 DELETE 和 PUT 等 HTTP 方法。这可能导致意外的行为,例如将缓存的 DELETE 请求视为 GET 请求。

  • 幂等性

HTTP 规范建议某些方法,包括 GET、PUT 和 DELETE,应该是幂等的。如果执行一次操作的结果与重复执行的结果相同,那么该操作是幂等的。然而,并非所有实现都严格遵循这一原则,依赖它可能导致意外的行为。

  • 安全性考虑

一些安全扫描器和防火墙可能无法正确处理非标准的 HTTP 方法。在某些情况下,这些方法可能会被阻止或受到怀疑。

  • 跨源请求(CORS)

在发起跨源请求时,某些 HTTP 方法,包括 DELETE 和 PUT,可能触发预检请求。预检请求是浏览器发送的额外请求,用于检查实际请求是否安全。这可能会增加你的应用程序的复杂性,特别是如果你的服务器没有配置处理预检请求。