http-headers和http-body之间是否有安全性区别?

时间:2018-12-21 07:37:27

标签: rest http https http-headers

我要创建一个发布请求,并且使用令牌,为什么必须将令牌放入标头而不是请求正文中?我的理解是正文比http-headers更安全,是吗?

或将令牌放入标头的唯一原因是在我们API的多个方法之间分开并保持一致性

2 个答案:

答案 0 :(得分:0)

Header对于服务器来说更方便。

想象一下一个API,在其中您将文件作为PUT的主体上载-如果令牌也位于主体中,则您必须以某种方式处理主体,以使其清楚是什么令牌以及什么是上载文件

如果body是JSON,则可以将标记放在主体旁边(在这种情况下,您不能仅将JSON.parse解析,您需要再次解码它们的组合方式),也可以将标记埋入JSON(在这种情况下,您必须下载整个JSON并进行解析,然后才能获得令牌。

在下载主体之前可以访问标头-因此,如果恶意代理通过向您发送大量100Mb请求对服务器进行DoS攻击,则一旦收到标头,您就可以检测到缺少适当的授权,并且无需下载和分析100Mb有效负载即可关闭连接。

相对于标题,我看不到在主体中具有令牌的任何好处。

答案 1 :(得分:0)

讨论了与在url vs body中传递数据有关的安全性问题。重点是urls被中间服务器更频繁地记录,因此敏感信息可能会出现在日志中。

如果我们继续使用headers/body这个想法,我建议与正文相比,更可能记录标头。至少在我们的应用程序中,我们似乎将请求与标头一起记录。

从密码学的角度来看,它们都等同于全部一起传输。