为什么请求方法发送到名为GET和POST的Web服务器?

时间:2010-03-02 10:48:10

标签: http terminology

我猜测每个请求方法的名称与它们以某种方式执行的操作有关系。但我无法得到它!

Detials: GET表示已发布的参数显示在URL中,POST表示它们已发送但未显示在URL中。但那与POST / GET有什么关系?什么是获得/发布或什么是发布/获得工作?你有胶水吗?

我理解GET和POST方法是什么。我想知道的是为什么我们要GET / POST,我们为什么不称它为TYPE1 / TYPE2,或者其他更有意义的名字,如ON-URL / OFF-URL

如果您知道,请讨论。

6 个答案:

答案 0 :(得分:2)

这可以帮到你:

方法在HTML表单中使用GET和POST - 有什么区别? http://www.cs.tut.fi/~jkorpela/forms/methods.html

GET与POST的权威指南
http://carsonified.com/blog/dev/the-definitive-guide-to-get-vs-post/

获取和发布
http://catcode.com/formguide/getpost.html

答案 1 :(得分:1)

来自RFC 2616

获取

  

GET方法意味着检索Request-URI标识的任何信息(以实体的形式)。

发表

  

POST方法用于请求源服务器接受请求中包含的实体,作为请求行中Request-URI标识的资源的新下级。

因此, GET 应该用于读取资源,而 POST 应该用于创建更新,或删除资源。

答案 2 :(得分:1)

GET和POST称为HTTP动词。有关详细信息,请参阅RFC

GET将获取由URL标识的资源。如果使用GET作为表单的操作,则条目将在URL中进行编码(请参阅Google搜索示例)。

POST会将数据单独发送到指定的URL。

最大的区别在于,如果您在表单提交上使用GET,则可以复制您登陆页面的URL并直接使用它来获得相同的结果。所有信息也将在URL中显示(不要将此方法用于密码)。如果您发布数据,则登录页面的URL将不足以重现相同的结果;你将不得不再次浏览表格。

答案 3 :(得分:0)

在这里查看RFC定义:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

但实际上,GET用于检索资源,POST用于创建新资源或对资源进行更改。

答案 4 :(得分:0)

我觉得@Nam G. VU正在问一个英语问题。

“获取”意味着数据流是从服务器到客户端。更具体地说,客户端要求服务器发送一些数据。

“发布”表示客户端正在将数据推送到服务器。 “post”一词意味着它是一种单向操作。

当然,这些都不是100%单向的:GET可以将数据发送到服务器中 URL作为路径和/或查询参数,POSTS将数据返回给客户端。

但是,从最简单的意义上讲,英语动词意味着数据流的主要方向。

答案 5 :(得分:0)

从REST的角度来看,GET METHOD表示它用于获取(类似的)资源列表。 POST用于创建(或POST)资源。

除此之外,GET以?name=value&对的格式携带URL中的所有参数,而POST在请求正文中携带所有参数。