标签:不能 base64 res 通信 认证客户 产生 session 图解 基于
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存在一个有效期。
标签:不能 base64 res 通信 认证客户 产生 session 图解 基于
原文地址:https://www.cnblogs.com/Alfred-ou/p/8931786.html