我正在为我的网站创建一个时事通讯订阅区,我想知道首选哪种方法?... GET还是POST?由于我允许人们为将来的时事通讯注册他们的电子邮件,我认为GET将是首选方法,但我听到很多人只是说对所有事情都使用POST。
我知道 GET 更快、更不安全并且不能存储尽可能多的字符。
你怎么看?获取还是发布?
编辑:我知道这篇文章可能会被遗忘,因为这是一个相当简单的问题,但我问的是首选方式。不只是一些半......方式!
我正在为我的网站创建一个时事通讯订阅区,我想知道首选哪种方法?... GET还是POST?由于我允许人们为将来的时事通讯注册他们的电子邮件,我认为GET将是首选方法,但我听到很多人只是说对所有事情都使用POST。
我知道 GET 更快、更不安全并且不能存储尽可能多的字符。
你怎么看?获取还是发布?
编辑:我知道这篇文章可能会被遗忘,因为这是一个相当简单的问题,但我问的是首选方式。不只是一些半......方式!
如果要插入或更新某些内容,通常使用 POST。GET 如果你想检索数据。如果您让人们通过提交带有电子邮件地址的表单来注册,您应该使用 POST。
POST一般用于修改服务器上的数据,GET一般应该返回数据并且是幂等的。
两者之间的技术差异基本上很小。您可能会在这里或那里遇到限制或奇怪的实现,但您主要关心的是您要公开的 API 的语义含义。
每个网页、每个 Web 服务、任何可在线访问的资源都是所有者向世界公开的 API。该 API 应尽可能遵循标准和约定,以便任何希望使用该 API 的人更容易理解。
看一下HTTP 动词的定义:
本质上...如果您要检索数据,请使用GET
. 如果您要插入数据(这是您的情况),请使用POST
. 当然还有更多。修改数据使用PUT
,获取有关数据的元数据,使用HEAD
,删除数据使用DELETE
,你明白了。
两者都可以,但是邮件将通过 GET 保存在历史记录中,如果你不想要这个,你应该使用 POST
虽然 POST 和 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