RFC 2617要求在HTTP Basic 身份验证中,用户名和密码必须使用 base64 编码。
为了接收授权,客户端在凭证中的 base64 编码字符串中发送用户 ID 和密码,由单个冒号 (":") 字符分隔。
basic-credentials = base64-user-pass base64-user-pass = <base64 encoding of user-pass, except not limited to 76 char/line> user-pass = userid ":" password userid = *<TEXT excluding ":"> password = *TEXT
用户 ID 可能区分大小写。
如果用户代理希望发送用户 ID“Aladdin”和密码“open sesame”,它将使用以下标头字段:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
由于 base64 编码提供零安全凭证,为什么要这样做?