2012-02-03 41 views
0

最近我进入了关于在api中使用JSON的讨论。网址中的JSON - 正确还是错误

用于放入查询字符串的一个参数是可以的,它将充当参数,使用$ _GET检索并在应用程序中解码。

index.php? action = {JSON}

另一个说法只是把它作为一个$ _POST,反对它的论点是,网址会变长。

那么在url中使用JSON有什么想法?

回答

2

我个人的想法是,最好是把它放在POST,一对夫妇的原因

  • GET是用户更容易操作。尽管POST不是 也不安全,但如果他们不知道 怎么样,人们不会试图摆弄它。
  • 虽然长,复杂的URL可能是更具体的个人(我可能 没有,如果他们长期或不关心),它是在那些 有益的不在乎不在乎,但那些关心,嗯,他们 照顾。

查看服务器上发生的变化应该总是通过POST发送,而只会改变请求发送的内容应该通过GET发送出去,这更加语义化。从你的问题来看,JSON的最终目的是什么并不太清楚,尽管我认为你的讨论在这方面不那么具体和抽象。

+1

GET对于用户来说操作起来要容易得多...因此它应该被使用以便人们可以轻松地摆弄它。 – Quentin 2012-02-03 17:18:45

+0

我想这取决于你是否愿意让人摆弄它。在大多数情况下,我会说你不知道。 – 2012-02-03 17:19:42

+0

更严重。你不能阻止人们控制他们发送给你的东西,因为默默无闻的安全性只是自我欺骗。您不应该允许伪安全性影响您对GET或POST的选择。主要驱动程序应该是如果请求将[安全/幂等](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1) – Quentin 2012-02-03 17:21:01

0

通常使用JSON的原因是您希望能够封装一些任意数量的数据(事物列表,包含可变数据的对象等)。由于您在URL中可以使用的字符数量非常有限,因此如果您选择通过GET请求传输数据,则只能发送数量有限的数据。如果它作为URL的一部分出现,您还需要对JSON进行编码/解码,这会使事情变得复杂一些。如果您不确定将以这种方式发送多少数据,那么您确实需要使用POST。