哪个更好,在HTTP头或HTTP Body中传递用户名/密码作为参数?

时间:2012-02-21 19:00:19

标签: http header

我正在实施一个REST服务器。

我将收到用户的每个请求的用户名,requeststid和密码。

我有两个选择,我可以要求用户在http正文或http标题中传递这三个参数。

哪种更好的实施方式和原因?

提前致谢。

1 个答案:

答案 0 :(得分:3)

标题!

如果我理解你的问题,那么每一个请求都会传递一些东西。这意味着如果您想支持GET和HEAD等安全请求,您只有两个选择:HTTP标头或URL(通常通过查询参数)。

由于它包含身份验证信息,因此应避免将其放入URL中。除此之外,你说它是加密的,增加的保护层是通过SSL进行的,但标题和正文同样安全/易受攻击,因此从安全角度来看没有任何区别。

将它放在标题中也会将它与应用程序状态以及媒体类型分离,这是一件好事。如果您想支持JSON,XML和XHTML表单,则对您的身份验证参数没有任何影响。