HTTP Base64编码头

时间:2013-01-03 15:14:15

标签: java http rest

正如您所知的基本HTTP身份验证,在授权标头中, Base64 用于编码字符串;

username:password 

我不知道为什么HTTP真的希望这样,但我的问题是在我的Rest网络服务中。如果我使用自定义 HTTP标头来保留用户ID:令牌对,那么对 Base64它们是否安全?我可以发送纯文本吗?

注意:我使用HTTPS,这不是安全问题

2 个答案:

答案 0 :(得分:5)

  

是不安全的Base64呢?

如果您不对它们进行base64编码,则用户名或密码中的某个文本字符可能不是有效的HTTP标头字符。您需要学习HTTP RFC以确保这不是您的应用程序的问题。

例如,您的应用是否允许密码中的空格?这样的事情......

或者您可以只对base64编码用户名/密码,并且知道您不会违反HTTP协议。

答案 1 :(得分:2)

如果您使用自定义标题,可以使用纯文本格式发送。

但是,如果您坚持使用Basic HTTP协议,您将能够在测试中使用标准工具,并且客户端不必添加手动额外代码来添加标头,因此我建议不要滚动您自己的标头可能的。