Web API-HTTP标头中的身份验证凭据与SSL正文中的身份验证凭据?

Web API-HTTP标头中的身份验证凭据与SSL正文中的身份验证凭据?,http,authentication,ssl,asp.net-web-api,Http,Authentication,Ssl,Asp.net Web Api,我在HTTP正文中发送用户名和密码,以便对Web API中的每个控制器操作进行身份验证。我使用用户名/密码在每个控制器中进行身份验证。它使用的是SSL 在HTTP头中发送身份验证凭据比在HTTP正文中发送更好,这有什么安全原因吗 如果我使用的是Basic Authentication,我可以看到在头中有凭证是多么必要,就像在中一样,但我没有这样做,因此我看不到目的。从SSL的角度来看,只要它使用SSL,HTTP请求的标头(HTTP基本身份验证)或正文(例如基于表单的登录)中的凭据的安全性都是相同

我在
HTTP正文
中发送用户名和密码,以便对
Web API中的每个
控制器操作
进行身份验证。我使用用户名/密码在每个控制器中进行身份验证。它使用的是
SSL

HTTP头
中发送
身份验证凭据
比在
HTTP正文
中发送更好,这有什么安全原因吗


如果我使用的是
Basic Authentication
,我可以看到在头中有凭证是多么必要,就像在中一样,但我没有这样做,因此我看不到目的。从SSL的角度来看,只要它使用
SSL

,HTTP请求的标头(HTTP基本身份验证)或正文(例如基于表单的登录)中的凭据的安全性都是相同的

但是,如果客户端是一个普通的Web浏览器,你应该考虑以下内容:

浏览器缓存与HTTP基本身份验证一起使用的凭据。用户通常会面临这样的问题:要执行注销,他们必须关闭浏览器


另一方面,基于表单的登录通常会创建一个会话cookie,该cookie有时间限制,可以随时删除。

本机移动应用程序将使用Web API。好的,在这种情况下,这没有什么区别,因为您完全可以控制凭据的发送内容和发送情况。使用REST API时,在头中发送凭据不是更好吗,因为服务器能够在处理主体之前对请求进行身份验证。否则,服务器将首先处理整个主体,然后对用户进行身份验证。因此,攻击者可以在未经身份验证的情况下发送非常大的请求。你认为呢?考虑到DOS攻击,将身份验证数据放在头中真的很有意义。