HTTP 常见认证方式

90 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

大家好,我是阿萨。 计算机本身无法识别使用者身份, 那么就需要一些登录者本身才有的信息来让计算机核对身份。

\

常见的核对身份方法有:

  1. 密码
  2. 动态令牌,比如OTP
  3. 数字证书,U 盾之类的
  4. 生物认证,指纹,面部识别,虹膜等
  5. IC 卡等。

\

常见的HTTP 认证方式有哪些呢?

\

  1. Basic 认证
  2. DIGEST 认证
  3. SSL 客户端认证
  4. FormBase 认证

\

一. Basic 认证 步骤

\

Image

客户端说我要这个资源。服务器端返回没有认证,需要认证。客户端发送Base64编码后的用户名和密码给服务器端,服务端校验,通过200, 失败401.\

 安全级别不高,所以大多数网站不使用。

\

二. DIGEST 认证\

\

Image

\

\

Image

客户端发送请求,服务端给个质询码,和没有认证的401. 客户端发送质询码, 服务端校验,通过200, 失败401.

\

DIGEST 认证安全级别也不高,所以很多网站都没有使用。\

\

三. SSL 客户端认证步骤

\

步骤  1:客户端发送需要认证的请求。

步骤 2:  服务器会发送 Certificate Request 报文,要求客户端提供客户端证书。

步骤 3:客户端会把客户端证书信 息以 Client Certificate 报文方式发送给服务器。 

步骤 4:服务器验证通过,获取证书内客户端的公开密钥,然后开始 HTTPS 加密通信

\

也有SSL的双因子认证。

虽然安全,但是费用过高。\

\

四. 基于表单的认证

\

客户端给服务器端发送登录信息,根据登录信息的验证结果进行验证。

因为表单认证方法的标准规范不像SSH 或者FTP 协议,所以Web 应用程序实现的基于表单的认证方法各不相同。\

\

因为实现方式不同,所以安全级别也各不相同。\

\

以上就是HTTP认证相关内容, 你学会了吗?

\

如果觉得阿萨的内容对你有帮助,欢迎围观点赞。