
Are REST request headers encrypted by SSL?我正在开发将通过休息进行通信的客户端/服务器应用程序。 一些自定义请求数据将存储在请求的标头中。 发送请求的服务器和接收服务器都具有SSL证书-标头会被加密还是仅被加密? SSL会加密从客户端到服务器再到服务器的整个通信路径,因此可以-头将被加密。 顺便说一句,如果您开发网络应用程序并关心数据安全性,那么您至少应该读一本书,如Niels Ferguson和Bruce Schneier撰写的《实用密码学》,而进一步阅读更着重于Web应用程序安全性的书可能会是一件好事。理念。如果我可以观察一下,请(我不是说作为个人批评),您的问题表明根本缺乏对非常基本的Web安全技术的理解,这永远不是一个好兆头。 同样,确认假定已加密的数据确实已加密绝对不是一个坏主意。您可以使用网络分析仪来监视网络上的流量,并注意任何明文发送的敏感内容。我以前曾使用Wireshark进行此操作-有时结果可能令人惊讶。 只要您在SSL隧道中进行通信,服务器和客户端之间发送的所有内容都会被加密。加密在发送或接收任何数据之前完成。 标头和内容均已加密。 您似乎认为REST是一种独特的协议。 REST不是协议。这是基于HTTP的应用程序的设计风格。 因此,您正在编写一个HTTP应用程序。标头是否已加密?是的,如果您使用的是HTTPS(基于SSL的HTTP)协议而不是纯HTTP。 双方都有证书与您的问题没有直接关系。 SSL证书用于身份验证。它们有助于检测中间人攻击,例如使用DNS缓存中毒可能发生的攻击。 仅凭证书是不够的,您必须配置Web服务器以加密该域或虚拟主机的连接(即使用证书)。另外,我认为您只需要一个证书,对请求的响应仍将被加密。 是的,HTTP标头和数据都被加密。 其他答案是正确的,即使用SSL时,标头确实与主体一起被加密。但是请记住,可能包含查询参数的URL永远不会被加密。因此,请注意不要在URL查询参数中放置任何敏感信息。 更新:如下@blowdart指出的那样,这是错误的。请参阅下面的评论。
SSL ..或更确切地说,HTTPS(基于SSL的HTTP)通过SSL发送所有HTTP内容,并且由于HTTP内容和标头实际上是同一件事,因此这意味着标头也已加密。 并非所有内容都被加密:请求查询字符串未加密。相信我,我已经看到过这样的要求: https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear 请不要在查询字符串中放入敏感数据作为参数。 |