【发布时间】:2015-12-27 15:02:09
【问题描述】:
刚刚开始使用 angular 中的身份验证。我经常阅读的是使用标头传递令牌,如下所示:$http Auth Headers in AngularJS 我的问题是将令牌传递给后端的每个请求,使用标头的主要原因是什么?这只是为了更清洁的解决方案还是为了性能?
【问题讨论】:
标签: angularjs restful-authentication
刚刚开始使用 angular 中的身份验证。我经常阅读的是使用标头传递令牌,如下所示:$http Auth Headers in AngularJS 我的问题是将令牌传递给后端的每个请求,使用标头的主要原因是什么?这只是为了更清洁的解决方案还是为了性能?
【问题讨论】:
标签: angularjs restful-authentication
为此使用标头不是 Angular 的事情,许多 API 都使用这些,例如,服务器可以通过仅检查标头而不是请求正文来确定是否应允许客户端快速访问。这样可以更好地分离身份验证和授权功能以及服务器上的负载处理之间的关注点。
上游服务器(其中可能有很多层)可以添加和删除标头,并且通常比在请求正文中更有效地路由和授权您的请求。
标头还将身份验证数据保留在 URL 请求参数之外,这看起来更简洁,但也会阻止身份验证数据出现在浏览器历史记录等中。
一个缺点可能是,如果您通过网络代理发出请求,则代理可能会去除某些标头,尤其是当它们是非标准名称时。
【讨论】:
如果您与服务器的连接是 HTTPS,那么 HTTP 标头也会被加密。查询参数不是。
【讨论】: