后续请求的基本 HTTP 身份验证

basic HTTP authentication on subsequent requests

下图描述了基本的 HTTP 身份验证。客户端请求 /family 资源并被要求识别自己。确实如此,现在它可以访问 /family。客户端然后还请求 /family/photos/kids 属于家庭领域的资源。

客户端已经为 /family 资源标识了自己,但还没有为 /family/photos/kids 标识自己。他们在同一个领域,但服务器不知道同一个客户端发出了请求。或者是吗?服务器如何知道此特定客户端也可以在后续请求中访问 /family/photos/kids?用户通过身份验证后,是否在每次请求时都发送密码和用户名?客户端是否针对 he/she 发出的每个请求都通过弹出窗口进行询问? Cookie 是否在首次身份验证时设置?

基本身份验证需要客户端发送 header。没有 cookie 或服务器 session

客户端请求资源时,发送授权header

GET /family
Authorization: Basic token

其中令牌是base64(用户名:密码)。用户名后跟 ':' 和以 base 64

编码的密码

如果您从浏览器请求受保护的资源,例如 GET 请求,并且您没有提供 header,浏览器会显示身份验证表单并记住它以用于同一域中的后续请求