哪种方式更好,在HTTP头部还是HTTP主体中传递用户名/密码作为参数?

8
我正在实现一个REST服务器。
我将从用户那里收到每个请求的用户名、请求ID和密码。
我有两种选择,我可以要求用户在HTTP正文中传递这三个参数,或者在HTTP头中传递这三个参数。
哪种实现方式更好?为什么?
提前感谢。

不应该以明文形式传输身份验证凭据。你想要实现什么?用户认证,会话管理? - Devin M
每次访问进行用户身份验证。我们可以在标头和正文中发送加密值。那么哪个更好呢? - Sarada
1个回答

6

标题!

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接