Http请求withCredentials是什么,为什么使用它?

我在节点和角度的CORS上遇到了问题,并为true添加此选项解决了我的问题。但是我找不到有关它是什么以及它在做什么的信息。请有人可以解释吗?

回答:

withCredentials()使您的浏览器在XHR请求中包含cookie和身份验证标头。如果您的服务依赖于任何cookie(包括会话cookie),则仅在使用此选项集的情况下才能使用。

当您向其他原始服务器发出Ajax请求时,浏览器可能会向服务器发送OPTIONS飞行前请求以发现端点的CORS策略(对于非GET请求)。

由于请求可能是由恶意脚本触发的,因此为了避免将身份验证信息自动泄漏到远程服务器,浏览器将应用以下规则:

对于GET请求,在服务器请求中包括cookie和身份验证信息:

  • 如果XHR客户端在withCredentials选项设置为true的情况下调用
  • 并且如果服务器回复不包含CORS标头Access-Control-Allow-Credentials:true,则在将对象返回Java之前丢弃响应

对于非GET请求,仅包括Cookie和身份验证信息:

  • withCredentials在XHR对象上将if 设置为true
  • 并且服务器已包含CORS标头访问控制允许凭据:飞行前选项中为true

以上是 Http请求withCredentials是什么,为什么使用它? 的全部内容, 来源链接: utcz.com/qa/436097.html

回到顶部