java - HTTP Base64 编码 header

标签 java http rest

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

username:password 

我不知道为什么 HTTP 确实需要这样,但我的问题是在我的 Rest Web 服务中。如果我使用自定义 HTTP header 来保存 userid:token 对,那么对它们进行 Base64 安全吗?我可以按原样发送纯文本吗?

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

最佳答案

is that safe to not Base64 them?

如果您不对它们进行 Base64 编码,则用户名或密码中的文本字符之一可能不是有效的 HTTP header 字符。您需要研究 HTTP RFC以确保这对您的应用程序来说不是问题。

例如,您的应用是否允许密码中包含空格?诸如此类的事情...

或者您可以对用户名/密码进行 Base64 编码,这样就不会违反 HTTP 协议(protocol)。

关于java - HTTP Base64 编码 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14141661/

相关文章:

sencha touch 2 中的 HTTP 请求

java - 如何为不同服务器上的计划任务创建仲裁器

java - JLabel 在 ActionListener 中没有被正确识别

java - 为什么我的排序算法在 for 循环第三次迭代后失败?

javascript - 从 Web 浏览器获取 JavaScript 服务器时间的最快方法是什么?

c# - 如何获取完全加载的 HTML 页面代码

java - HttpURLConnection.getContentLength() 返回 -1

c - 在 C 中解析日期 Http header 的简单方法是什么?

rest - 如何安排 API 请求

rest - Golang 中的 RESTful 服务是否应该包含客户端接口(interface)?