CTFHUB-WEB前置技能-HTTP协议-基础认证

一、HTTP基础认证

1.什么是HTTP基础认证?

之前我们学到了客户端浏览器与服务器交互时的认证,也就是通过验证cookie、session和token码进行身份验证。这里的HTTP基础认证也是一种认证手段。

当客户端和服务器进行交互时,会将用户名和密码以“用户名+冒号+密码”的形式组合并且使用BASE64算法加密后存储到数据包中的header Authorization中发送给服务器,服务器通过验证这一信息进行身份验证。这种方法叫做HTTP基础认证。

HTTP基础认证虽然使用了BASE64加密,但是用解码器很容易就会被解码出来,并不安全,所以一般使用其他方式进行认证,如HTTPS

2.HTTP基础认证的过程?

第一步:当客户端第一次向服务器发送请求,此时数据包中不包含header Authorization信息,服务器拿到数据包后会先检查该客户端是否认证过,也就是检查header Authorization,没有的话会返回一个respons,其中包含状态码401,要求客户端提交该信息用以认证。并且在Response 的 header的 “WWW-Authenticate” 中添加信息

第二步:客户端收到状态码401后,会弹出认证窗

你可能感兴趣的:(http,网络协议,网络安全)