为什么Facebook通过POST发送签名的请求?

时间:2013-06-11 09:57:39

标签: javascript facebook request signed

为什么Facebook会通过POST发送已签名的请求? 实际上,如果签名请求是通过GET发送的,那么它将允许客户端javascript代码获取它。因此,应用程序可以存储在一个独特的静态html文件中。

1 个答案:

答案 0 :(得分:0)

有两个原因:

1)与使用POST参数发送的URL相比,复制/粘贴包含GET参数的url要容易得多。这就是为什么大多数敏感信息是通过POST而不是GET发送的。 (注意 - 它在传输方面并不“安全”,它不会出现在普通的服务器日志中,也不容易复制)。使用已签名的请求共享URL并不是您想要做的事情,并且Facebook可能会有同样的感觉,因此您可以更轻松地不做意外。

2)作为一般规则,GET应该用于影响状态,但不能对数据进行任何永久性更改。进行更改时应使用POSTS。由于Facebook不知道你是否要根据signed_request更新数据库,他们会以POST方式发送 - 这是正确的做法。

相关问题