gpt4 book ai didi

http - 为什么 HTTP 动词 POST 称为 POST?

转载 作者:可可西里 更新时间:2023-11-01 15:07:15 29 4
gpt4 key购买 nike

其他动词对我来说都有意义,但我对“发布”作为动词没有太多上下文。它是像在邮局发帖(这有一定道理,虽然看起来有点牵强)还是像在公告板上发帖(对我来说意义不大)?有谁知道是谁决定了“POST”以及为什么选择它?

最佳答案

好吧,我想,“像公告板上的帖子一样发帖”非常接近答案。最后,这正是该方法设计的功能之一。 POST 总是意味着将内容发布到某种“工厂”以供其处理 - 否则您可以只使用 PUT。我们来看看RFC2616, Section 9.5 :

The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. POST is designed to allow a uniform method to cover the following functions:

  - Annotation of existing resources;

- Posting a message to a bulletin board, newsgroup, mailing list,
or similar group of articles;

- Providing a block of data, such as the result of submitting a
form, to a data-handling process;

- Extending a database through an append operation.

当然,这并不是为什么它被称为 POST 的确切定义,但我认为这可能会提供一些关于它背后的想法的线索。

也许我们还可以看看“post”这个词的一些含义(http://www.thefreedictionary.com/Post,第三个定义)——据此,作为动词的 post 可以表示

  • 邮寄(信件或包裹)
  • 通知最新消息
  • 在簿记中将(一项)转移到分类帐
  • 在(分类帐)中进行必要的输入

这正是 POST 所做的(比喻)。如果你想发送电子邮件,你让你的电子邮件提供商处理它​​,然后通知你有关状态。这也是PUTPOST的区别:如果客户端负责处理资源,你使用PUT(因为你知道放什么和放在哪里)。

因此,从理论上讲,如果您知道要向其发送电子邮件的人的 IP 地址,则不需要您的提供商为您找到这些内容。但是现在,您知道放什么,但不知道放在哪里。所以在这种情况下,您使用 POST。您“将最新消息通知服务器”,服务器决定将其放置在何处。因此,您可以将其视为“将项目转移”到已经存在的资源(例如论坛中的话题或其他)——您只想附加一些内容。

我希望这是有道理的...

关于http - 为什么 HTTP 动词 POST 称为 POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218530/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com