我正在实现一个REST服务器。
我将从用户那里收到每个请求的用户名、请求ID和密码。
我有两种选择,我可以要求用户在HTTP正文中传递这三个参数,或者在HTTP头中传递这三个参数。
哪种实现方式更好?为什么?
提前感谢。
我将从用户那里收到每个请求的用户名、请求ID和密码。
我有两种选择,我可以要求用户在HTTP正文中传递这三个参数,或者在HTTP头中传递这三个参数。
哪种实现方式更好?为什么?
提前感谢。
标题!
如果我理解您的问题,您有一些将在每个请求中传递的内容。这意味着,如果您想支持GET和HEAD等安全请求,您只有两个选择:HTTP标头或URL(通常通过查询参数)。
由于它包含身份验证信息,因此应避免将其放在URL中。除此之外,您说它是加密的,一个额外的保护层是通过SSL进行,但是从安全角度来看,标头和正文同样安全/易受攻击,因此没有区别。
将其放在标题中还可以使其与应用程序状态以及媒体类型分离,这是一件好事。如果您想支持JSON、XML和XHTML表单,则对您的身份验证参数没有影响。