HTTP 基本认证

HTTP 基本认证是简单的提问和响应机制,服务器可以通过它从客户机请求认证信息(用户标识和密码)。 客户机在 Authorization 头中向服务器传递认证信息。 认证信息是基本 64 位编码的。

本主题概括 HTTP 基本认证。 如需了解详情,请参阅 RFC 2617 HTTP 认证:基本和摘要访问认证 》,网址 https://www.ietf.org/rfc/rfc2617.txt

注意 :只有当网络客户端和服务器之间的连接是安全的 HTTP才能被视为安全。 如果该连接不安全,即表示该方案未提供足够的安全性来阻止未授权的用户发现服务器的认证信息。 如果您认为密码可能会被拦截,请使用带有 SSL 加密的基本认证来保护用户标识和密码。

对于客户机发出的请求,如果服务器需要认证信息,那么服务器将发送具有以下各项的 HTTP 响应:401 状态码、表明认证错误的原因短语和 WWW-Authenticate 头。 大多数 Web 客户机通过请求用户提供用户标识和密码来处理该响应。

HTTP 基本认证的 WWW-Authenticate 认证头的格式是:
WWW-Authenticate: Basic realm="Our Site"

WWW-Authenticate 头包含域属性,该属性标识用户标识和密码将应用于的资源集。 Web 客户机向用户显示此字符串。 每个域可能需要不同的认证信息。 Web 客户机可以为每个域存储认证信息,这样,用户就不需要为每个请求重新输入该信息。

Web 客户机获得了用户标识和密码后,它将重新发送具有 Authorization 头的原始请求。 或者,客户机在发出其原始请求时会发送 Authorization 头,服务器可以接受该头,以避免提示和响应过程。

Authorization 头的格式是:
Authorization: Basic userid:password