大家好,我是阿萨。 计算机本身无法识别使用者身份, 那么就需要一些登录者本身才有的信息来让计算机核对身份。
常见的核对身份方法有:
- 密码
- 动态令牌,比如OTP
- 数字证书,U 盾之类的
- 生物认证,指纹,面部识别,虹膜等
- IC 卡等。
常见的HTTP 认证方式有哪些呢?
- Basic 认证
- DIGEST 认证
- SSL 客户端认证
- FormBase 认证
一. Basic 认证 步骤
客户端说我要这个资源。服务器端返回没有认证,需要认证。客户端发送Base64编码后的用户名和密码给服务器端,服务端校验,通过200, 失败401.
安全级别不高,所以大多数网站不使用。
二. DIGEST 认证
客户端发送请求,服务端给个质询码,和没有认证的401. 客户端发送质询码, 服务端校验,通过200, 失败401.
DIGEST 认证安全级别也不高,所以很多网站都没有使用。
三. SSL 客户端认证步骤
步骤 1:客户端发送需要认证的请求。
步骤 2: 服务器会发送 Certificate Request 报文,要求客户端提供客户端证书。
步骤 3:客户端会把客户端证书信 息以 Client Certificate 报文方式发送给服务器。
步骤 4:服务器验证通过,获取证书内客户端的公开密钥,然后开始 HTTPS 加密通信
也有SSL的双因子认证。
虽然安全,但是费用过高。
四. 基于表单的认证
客户端给服务器端发送登录信息,根据登录信息的验证结果进行验证。
因为表单认证方法的标准规范不像SSH 或者FTP 协议,所以Web 应用程序实现的基于表单的认证方法各不相同。
因为实现方式不同,所以安全级别也各不相同。
以上就是HTTP认证相关内容, 你学会了吗?
如果觉得阿萨的内容对你有帮助,欢迎围观点赞。