代码之家  ›  专栏  ›  技术社区  ›  Adam Hopkinson

REST请求头是否通过SSL加密?

  •  46
  • Adam Hopkinson  · 技术社区  · 17 年前

    我正在开发一个客户端/服务器应用程序,它将通过rest进行通信。一些自定义请求数据将存储在请求的头部。发送请求的服务器和接收服务器都有SSL证书——是对标头进行加密,还是只对内容进行加密?

    8 回复  |  直到 17 年前
        1
  •  56
  •   Ori Pessach    17 年前

    SSL加密了从客户端到服务器的整个通信路径,所以是的,报头将被加密。

    顺便说一句,如果你开发网络应用程序并关心数据安全,你至少应该读一本像Niels Ferguson和Bruce Schneier的《实用密码学》这样的书,进一步阅读更侧重于web应用程序安全的书可能是一个好主意。请允许我发表一点意见——我并不是说这是个人批评——你的问题表明你对非常基本的网络安全技术根本缺乏了解,这从来不是一个好兆头。

    此外,确认假定已加密的数据确实已加密从来都不是一个坏主意。你可以使用网络分析仪来监控网络上的流量,并注意任何敏感的信息是否被发送出去。我以前用Wireshark做过这件事——结果有时会令人惊讶。

        2
  •  6
  •   zigdon    17 年前

    只要您在SSL隧道中通信,服务器和客户端之间发送的所有内容都将被加密。加密是在发送或接收任何数据之前完成的。

        3
  •  5
  •   cjm    17 年前

    标头和内容都是加密的。

        4
  •  3
  •   ddaa    17 年前

    您似乎认为REST是一种独特的协议。

    REST不是一种协议。这是一种基于HTTP的应用程序的设计风格。

    所以,你需要编写一个HTTP应用程序。标头是否加密?是的,如果您使用的是HTTPS(基于SSL的HTTP)协议而不是纯HTTP。

    双方都有证书与你的问题没有直接关系。SSL证书用于身份验证。它们有助于检测中间人攻击,例如可能使用DNS缓存中毒。

        5
  •  2
  •   Vinko Vrsalovic    17 年前

    拥有证书是不够的,您必须配置web服务器来加密该域或虚拟主机的连接(即使用证书)。此外,我认为你只需要一个证书,对请求的响应仍然会被加密。

    是的,HTTP标头和数据都是加密的。

        6
  •  0
  •   Wesley Mason    17 年前

    其他答案是正确的,即使用SSL时,标头确实与正文一起加密。但请记住,可以包含查询参数的URL是 从不 加密。因此,请注意不要在URL查询参数中放入任何敏感信息。

    更新: 正如@blowdart在下面指出的那样,这是错误的。请参阅下面的评论。

        7
  •  0
  •   Avi Flax    13 年前

    SSL。.或者更确切地说,HTTPS(HTTP over SSL)通过SSL发送所有HTTP内容,由于HTTP内容和标头实际上是同一件事,这意味着标头也被加密了。 鉴于GET和POST数据是通过HTTP标头发送的,因此只有在安全发送数据时才有意义,因为您不希望只对响应代码或内容进行加密。

        8
  •  -3
  •   Jacob Toronto    13 年前

    每件事 已加密:请求查询字符串未加密。相信我,我见过这样的请求:

    https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear

    请不要将敏感数据作为参数放入查询字符串中。