1.HTTP BASIC认证
在
HTTP
中,
基本认证
是一种用来允许
Web浏览器
或其他客户端程序在请求时提供以
用户名
和
口令
形式的凭证。在发送之前,用户名追加一个冒号然后串接上口令。得出的结果
字符串
再用
Base64
算法编码。例如,用户名是
Aladdin
,口令是
open sesame
,拼接后的结果是
Aladdin:open sesame
,然后再用Base64编码,得到
QWxhZGRpbjpvcGVuIHNlc2FtZQ==
。Base64编码的字符串发送出去,并由接收者解码,得到一个由冒号分隔的用户名和口令的字符串。
在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名 和密码。你可以尝试点击这个url看看效果:
http://api.minicloud.com.cn/statuses/friends_timeline.xml
。用户输入用户名称和密码,浏览器发送带认证的请求包。 HTTP服务器在每次收到请求包后,根据协议取得客户端附加的用户信息(BASE64加密的用户名和密码),解开请求包,对用户名及密码进行验证,如果用户名及密码正确,则根据客户端请求,返回客户端所需要的数据;否则,返回错误代码或重新要求客户端提供用户名及密码。
1.1认证流程