我是Restful API概念的新手 .
我正在为网上商店设计一个安静的api .
我没有正确理解ssl上的基本http身份验证的概念 .
这是否意味着,对于每个请求,用户都必须再次输入他/她的用户名和密码?
有人可以详细解释它的功能如何以及如何使用它?
提前致谢 .
基本身份验证只是一个标准的HTTP标头,用户和传递编码在base64中:
授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==
(http://en.wikipedia.org/wiki/Basic_access_authentication) . 如果您通过此标头通过非ssl连接验证您的其余API调用,问题是中间的任何人都可以从您的auth标头解码您的用户名和密码 .
要确保您的密码是安全发送的,而不是普通的HTTP连接,您必须使用HTTPS . HTTP和HTTPS之间的唯一区别是HTTPS使用TCP / IP上的SSL / TSL安全协议而不是普通的TCP / IP .
现在这有一个缺点,就是在cpu上 Build HTTPS连接比普通HTTP连接更昂贵 . 很明显,如果要使用此标头对每个请求进行其余调用的身份验证,则应使您的其余API仅适用于HTTPS连接 .
1 回答
基本身份验证只是一个标准的HTTP标头,用户和传递编码在base64中:
(http://en.wikipedia.org/wiki/Basic_access_authentication) . 如果您通过此标头通过非ssl连接验证您的其余API调用,问题是中间的任何人都可以从您的auth标头解码您的用户名和密码 .
要确保您的密码是安全发送的,而不是普通的HTTP连接,您必须使用HTTPS . HTTP和HTTPS之间的唯一区别是HTTPS使用TCP / IP上的SSL / TSL安全协议而不是普通的TCP / IP .
现在这有一个缺点,就是在cpu上 Build HTTPS连接比普通HTTP连接更昂贵 . 很明显,如果要使用此标头对每个请求进行其余调用的身份验证,则应使您的其余API仅适用于HTTPS连接 .