Http基本认证机制

时间:2016-05-01 12:47:43

标签: http authentication basic-authentication

  • 用户请求受保护资源X后,服务器响应 代码401。
  • 浏览器提示用户输入用户名和 密码并自动将请求重新发送到服务器 那些认证信息

我的问题是:这个过程是否反复为每个受保护的资源重复?

2 个答案:

答案 0 :(得分:1)

请查看RFC 2617.有基本身份验证声明:

  

收到未经授权的URI请求   保护空间,原始服务器可以应对挑战......

以及

  

客户应该假设所有路径都在或深于
的深度   Request-URI的路径字段中的最后一个符号元素也是
  在Basic领域值指定的保护空间内   当前的挑战。客户可以抢先发送   相应的授权标头,其中包含资源请求   没有从服务器接收到另一个挑战的空间。
  类似地,当客户端向代理发送请求时,它可以重用一个   没有
的代理授权标头字段中的用户标识和密码   从代理服务器接收另一个挑战。

因此,从服务器端,这可能发生在服务器认为未经身份验证的任何请求。如果资源Y不共享已与资源X进行了身份验证的前缀,则服务器将重新请求身份验证。

为了避免这种情况,例如认证方案,可以请求对相关资源的公共前缀进行认证,使得对资源X的前缀的认证也将资源Y作为前缀。这将允许客户端发送身份验证标头,并使服务器检测到已经过身份验证的呼叫。

答案 1 :(得分:0)

用户输入密码后,浏览器会记住密码。 每次客户端在同一网站上请求资源时,浏览器都会自动发送认证头。