我对RESTful API的概念还很陌生。
我正在为一个在线商店设计RESTful API。
我尚未完全理解基本HTTP身份验证在SSL上的概念。
这是否意味着每个请求用户都必须再次输入他/她的用户名和密码?
有人能详细解释一下它的功能和如何使用吗?
我对RESTful API的概念还很陌生。
我正在为一个在线商店设计RESTful API。
我尚未完全理解基本HTTP身份验证在SSL上的概念。
这是否意味着每个请求用户都必须再次输入他/她的用户名和密码?
有人能详细解释一下它的功能和如何使用吗?
基本认证是一个标准的HTTP头,其中用户和密码以base64编码方式编码:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
(http://en.wikipedia.org/wiki/Basic_access_authentication) .如果您通过此头验证rest API调用的身份,并使用非SSL连接,则问题在于中间人可以从您的授权头解码您的用户名和密码。
为确保您的密码被安全发送,您必须使用HTTPS而不是普通的HTTP连接。HTTP和HTTPS之间唯一的区别是HTTPS使用SSL / TLS安全协议覆盖TCP / IP,而不是纯TCP / IP。
现在这有一个缺点,建立HTTPS连接比普通的HTTP连接更花费CPU资源。
很明显,如果您想在每个请求中使用此头进行身份验证,则应该将rest API限制为仅通过HTTPS连接提供。