HTTP Base64编码头

Spr*_*ing 0 java rest http

如您所知,对于基本HTTP身份验证,在Authorization Header中,Base64用于对字符串进行编码;

username:password 
Run Code Online (Sandbox Code Playgroud)

我不知道为什么HTTP真的期望这个,但我的问题是在我的Rest Web服务中.如果我使用一个自定义的,我用它来保持用户ID HTTP标头:标记对,是安全的, Base64编码呢?我可以发送纯文本吗?

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

Gui*_*one 5

是不安全的Base64呢?

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

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

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