可扩展性(scalability)和可用性(availability)
使用一个独一无二的标志,来标示每一次的数据请求。
这个标志有两种用法:1.它可以作为URI的 2.它可以加入到HTTP的请求头中。
@Path("/users/token={token}")
public class UsersResource {
@GET
@Produces("application/xml")
public String getXML(@PathParam("token") String token) {
}
先检验URI中的标志——Token,如果token变量未通过验证,返回401错误,即未授权。
HTTP basic authentication
即在HTTP请求头中加入一个Authorization: Basic QWxhZGRpbjpvcGVulHNIc2Ft
而且用户名和密码是用Base64 encoding编码的,这个很容易破解,解决这个问题,我们可以用HTTPS(SSL)协议代替HTTP协议。
如果用浏览器访问但没有加入对应的证书,浏览器会出现一个对话框,要求你输入用户名和密码,当用户输入完后,浏览器会再次发送求情。浏览器对401错误会自动处理。
如果使用其他的客户端,则会收到一个401错误。
也可以在刚开始的时候就设置好HTTP请求头,这样就不用每次都输入证书了。