认证概念:

服务器需要通过某种方式来了解用户的身份,一旦服务器知道了用户的身份,就可以判定用户可以访问事务和资源了;通常通过用户名和密码;

HTTP响应/认证框架

HTTP认证模型:





HTTP基本认证_用户名


质询/响应认证框架


HTTP的两个官方的认证协议:基本认证和摘要认证

认证的四个步骤:

请求: 客户端发起一条请求;第一条请求没有认证消息;

质询: 服务器对客户端进行质询;返回一条401 Unauthorized响应,并在www-Authenticate首部说明如何以及在哪里进行认证;一般指定对哪个安全域进行认证;

授权:客户端收到401质询,弹出对话框,询问用户名和密码,用户输入用户名和密码后,客户端会用一个冒号将其连接起来,编码成“经过扰码的”Base-64表示形式,然后将其放在Authorization首部中回送;

成功: 服务器对用户名和密码进行解码,验证它们的正确性,然后用一条HTTP 200 OK报文返回所请求的报文;





HTTP基本认证_首部_02


基本认证实例





HTTP基本认证_首部_03


基本认证首部


Base-64编码:会把一个8位字节序列转划分成一些6位的块,用每个6位的块在一个特殊在一个特殊的由64个字符组成的字母表中选择一个字符。




HTTP基本认证_安全域_04


编码实例


安全域:将受保护的文档组织成一个安全域;每个安全域都可以有不同的授权用户集;会在www-Authenticate首部包含realm指令;




HTTP基本认证_用户名_05


服务器上的安全域





HTTP基本认证_安全域_06


具有安全域的质询响应


代理认证

通过中间代理服务器实现对服务器内部资源和文档的统一访问控制;




HTTP基本认证_http_07


与Web服务器的差异


状态码:407

首部:Proxy

基本认证的安全缺陷:

Base-64安全性不高,容易解密;使用SSL加密信道;使用摘要认证;

      </div>