《图解HTTP》确认访问用户身份的认证

一、何为认证

  核对信息:密码、动态令牌、数字证书、生物认证、IC卡

  HTTP使用的认证方式:BASIC认证(基本认证)、DIGEST认证(摘要认证)、SSL客户端认证、FormBase认证(基于表单认证)

二、BASIC认证

  是web端与客户端进行认证的方式(不常用)

  将密码以base64编码储存在 authorization 首部字段 (不安全)

  认证步骤:

    1、客户端请求认证资源,服务器返回401

      2、客户端接收401,请求服务器(包含用户名和密码)

      3、服务器确认用户名和密码正确,返回响应

三、DIGEST认证

     使用质询响应方法,DIGEST认证内容存放在 Authorization 首部中

   认证步骤:

    1、客户端请求认证资源,服务器返回401+ 临时质询码(数字,nonce)

      2、客户端接收401,请求服务器(包含DIGEST认证信息)

      3、服务器确认DIGEST认证信息的正确性,返回响应

四、SSL客户端认证

1、SSL客户端认证的认证步骤

  (1)首先客户端安装客户端认证证书

  (2)客户端请求认证资源,服务器发送 Certificate Request 报文+提供客户端证书

  (3)客户端会把证书以 Client Certificate 报文发送服务器

  (4)服务器验证证书并领取密钥,然后通信

2、SSL客户端认证采用双因素认证

  双因素认证:验证时需要密码+其他信息

3、SSL客户端认证必要的费用

  客户端证书需要一定的费用才能使用

五、基于表单认证

  认证多半为基于表单认证

  Session管理及Cookie应用。一般会使用Cookie来管理Session对话

  认证步骤:

    1、客户端用post方法把用户ID和密码发送给服务器

      2、服务器发放识别用户的SessionID(服务器需做有效期管理,Cookie加上httponly属性)

      3、客户端收到SessionID后,作为Cookies保存在本地。

      4、下次客户端发请求自动发送Cookie

 

posted @ 2020-12-22 22:04  竹小冉  阅读(281)  评论(0编辑  收藏  举报