基于REST API的HTTP基本身份validation

我是Restful API的概念的新手。

我正在为在线商店devise一个宁静的api。

我没有正确理解ssl基本httpauthentication的概念。

这是否意味着,对于每一个请求,用户将不得不再次input他/她的用户名和密码?

有人可以请详细解释它是如何运作的,以及如何使用它?

提前致谢。

基本的身份validation只是一个标准的HTTP头,用户名和密码都是用base64编码的:

授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

http://en.wikipedia.org/wiki/Basic_access_authentication )。如果你通过这个头以非ssl连接authentication你的rest API调用,问题是中间的任何人都可以从你的auth中解码你的用户名和密docker。

要确保您的密码安全发送,而不是正常的HTTP连接,您必须使用HTTPS。 HTTP和HTTPS之间的唯一区别是HTTPS正在使用TCP / IP上的SSL / TSL安全协议,而不是普通的TCP / IP。

现在这有一个缺点,build立一个HTTPS连接在CPU比普通的HTTP连接更昂贵。 非常清楚的是,如果您希望通过此标头对每个请求的剩余调用进行身份validation,则应使您的其余API仅用于HTTPS连接。