HTTP认证


http认证形式分为基本认证和摘要认证

1、基本认证:

1) 客户端向服务端发出请求后,服务端并不是直接返回请求的文档(200 OK),而是在响应报文中加入WWW-Authenticate首部,该首部后面附带该次需要认证的域(网站的不同部分可能需要不同的认证密码),返回401(Authorization Request)。

2) 客户端收到该响应后,会再次发送请求,并在请求报文中加入Authorization首部,后面附带登陆信息。

3) 服务端收到登陆信息的请求后,如登陆信息正确,则正常返回200 OK。

由于基本认证方式是将用户名和密码在报文中传输,这样就会有安全问题。虽然用户信息是经过Base-64加密过的,但是这种加密方式很容易被逆编译破解,或者在传输过程中被第三方截获、篡改等。

2、摘要认证:

摘要验证方式过程与基本验证方式相同,只是在传输认证信息时,摘要验证并不向服务端发送用户信息的Base-64加密码,而是只发送一个密码的摘要信息。服务器本身知道所有用户的密码,当它得到这个摘要后,会通过计算获得这个密码,然后与本地保存的密码匹配以判断是否正确。