您的位置:首页 > 理论基础 > 计算机网络

《图解HTTP》第8章确认访问用户身份的认证 读书笔记

2020-02-08 03:13 211 查看

  第八章:确认访问用户身份的认证

1.HTTP/1.1使用的四种验证方式:

  ①BASIC认证(不常用)

  ②DIGEST认证(不常用)

  ③SSL客户端认证

  ④FormBase认证(基于表单认证,就是平常用的账户密码登录)

2.BASIC认证:就是把客户端的用户ID和密码经Base64编码后发送给服务器端,以此达到认证客户端身份。(这是明文发送,密码会被窃取。)

3.DIGEST认证:服务器端发送一个质询码nonce(就是一个随机数),客户端根据这个nonce,经过MD5运算后产生一个密码字符串response(响应码),然后把nonce和response一个发回去给服务器端,服务器端认证身份。(能防止密码被窃听,但是不能防止用户伪装)

4.SSL客户端认证:SSL客户端认证借由HTTPS的客户端证书完成认证。(SSL客户端认证是认证这一台特定的电脑,不能认证是不是用户本人)

  ①要将客户端证书分发给客户端,并且客户端必须安装此证书。

  ②服务器端会要求客户端提供自己的证书。

  ③服务器端验证客户端证书后,会取得证书内的公开秘钥(客户端的公开秘钥,服务器端用此加密,客户端用私有秘钥解密密文),然后开始HTTPS通信。

5.FormBase认证:就是平常用的账户密码登录,用来认证是不是用户本人。

6.因为HTTP是无状态协议,所以我们用Cookie来管理Session。意思就是:

  ①客户端利用FormBase认证(就是发送账户密码给服务器端)。

  ②服务器端根据这个账户发放一个Session ID(这个Session ID就是一个Session的编号,也就是记录了这个用户和这个用户所处的状态),这个Session ID写在响应报文的Set-Cookie首部字段内。

  ③客户端收到这个Session ID后,保存在Cookie内,下次发请求报文的时候带上这个Cookie。

  ④服务器端收到这个Cookie后(也就是收到这个Session ID),就可以识别这个用户和他上次连接服务器所处的状态。

7.如果Session ID被盗,对方就可以伪装成你的身份进行操作,所以Session ID存在一个有效期。

转载于:https://www.cnblogs.com/Alfred-ou/p/8931786.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
WWW54111392 发布了0 篇原创文章 · 获赞 0 · 访问量 142 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐