微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GET v POST 之间的区别是惯例还是设计?

如何解决GET v POST 之间的区别是惯例还是设计?

背景:

查看下面这些链接,我注意到 GET 和 POST 有两组独特的描述。

  1. 一种描述指出,区别在于信息的发送方式:GET 通过 URL 发送该信息,而 POST 通过 HTTP 请求正文发送该信息。
  2. 另一种描述指出不同之处在于 发送信息:GET 向服务器发送信息,而 POST 从服务器请求信息。

由于以下原因,我发现缺少这些描述:

  • 如果我想从服务器 (GET) 获取某些内容,但我首先要发送大量数据(例如 50MB 的文本),因此我需要在 HTTP 请求正文 (POST) 中发送它,该怎么办?是否可以使用 POST 从服务器获取某些内容
  • 如果我不希望将敏感信息存储在 URL 中,可以每次都使用 POST 吗?
  • jquery GET 函数与jquery POST 函数具有相同的方法签名(参见documentation),具体来说它也可以将数据作为随请求发送到服务器的普通对象或字符串发送,我将其解释为添加到 HTTP 请求正文中。如果 GET 的数据可以通过 HTTP 请求正文发送,那么对我来说,这与大多数声称这是 POST 与 GET 的差异描述之一的网站相矛盾。
  • 没有什么能阻止我创建 API 端点,这些端点是 GET 但行为类似于 POST(或 PUT,或 DELETE 或 PATCH)

问题:

缺乏严格的描述是因为我的理解不够,还是因为 HTTP/Ajax 的临时开发过程还是完全其他的东西?

支持链接

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。