通讯订阅的GET或POST?

时间:2012-10-02 22:19:10

标签: php javascript html forms html5

  

可能重复:
  When should I use GET or POST method? What’s the difference between them?

我正在为我的网站创建一个简报订阅区域,我想知道哪种方法更受欢迎?... GET POST ?由于我允许人们为未来的简报注册他们的电子邮件,我认为 GET 将是首选的方法,但我听到很多人只是说使用 POST 来做所有事情。

我知道GET更快,安全性更低,无法存储任意数量的字符。

你怎么看? GET POST

编辑:我知道这篇文章可能会被遗忘,因为这是一个相当简单的问题,但我问的是首选方式。不只是一半......方式!

5 个答案:

答案 0 :(得分:5)

如果要插入或更新某些内容,通常会使用POST。如果要检索数据,请进行GET。如果您通过提交带有电子邮件地址的表单来让人们注册,您应该使用POST。

答案 1 :(得分:2)

POST通常用于修改服务器上的数据,GET通常应该返回数据并且是幂等的。

答案 2 :(得分:1)

两者之间的技术差异基本上是微乎其微的。您可能在这里或那里遇到限制或奇怪的实现,但您主要关心的应该是您所暴露的API的语义含义。

每个网页,每个网络服务,在线访问的任何资源都是所有者向全世界公开的API。该API应尽可能遵循标准和惯例,以便任何希望使用该API的人更容易理解。

看看definitions for HTTP verbs

  • GET: GET方法意味着检索Request-URI标识的任何信息(以实体的形式)。如果Request-URI引用数据生成过程,则生成的数据应作为响应中的实体而不是过程的源文本返回,除非该文本恰好是过程的输出。 / LI>
  • POST: POST方法用于请求源服务器接受请求中包含的实体,作为请求行中Request-URI标识的资源的新下级。 / LI>

基本上......如果您要检索数据,请使用GET。如果您要插入数据(这是您的情况),请使用POST。当然还有更多。要修改数据使用PUT,要获取有关数据的元数据,请使用HEAD,要删除使用DELETE的数据,您就明白了。

答案 3 :(得分:-1)

两者都可以,但是GET会在历史记录中保留邮件,如果你不想这样,你应该使用POST

答案 4 :(得分:-1)

虽然POST和am GET都可以工作但实际首选方式是POST。两种方法都有其局限性但在这种情况下它们都不会限制你的实现,因为它会是一个有点“简单”的页面

使用get来告诉服务器要做什么,而不是设置数据。是的,你是对的,用户可以阅读GET,但他们也可以阅读/修改你的帖子,所以没有必要考虑到这一点。

只需遵循标准并使用POST。

有关详细信息,请参阅以下页面:

http://www.w3schools.com/php/php_post.asp
http://www.w3schools.com/php/php_get.asp
http://www.cs.tut.fi/~jkorpela/forms/methods.html
相关问题