Http 请求与凭据这是什么以及为什么使用它
Http requests withCredentials what is this and why using it?
我在使用节点和角度的 CORS 时遇到了问题,使用 true 添加此选项解决了我的问题。但我找不到关于它是什么以及它在做什么的信息。请有人解释一下吗?
简短回答:
withCredentials()
使您的浏览器在 XHR 请求中包含 cookie 和身份验证标头。如果您的服务依赖于任何 Cookie(包括会话 Cookie(,则它仅适用于此选项集。
更长的解释:
当您向其他源服务器发出 Ajax 请求时,浏览器可能会向服务器发送 OPTIONS 预检请求,以发现端点的 CORS 策略(对于非 GET 请求(。
由于请求可能是由恶意脚本触发的,为了避免自动将身份验证信息泄露到远程服务器,浏览器应用以下规则:
对于 GET 请求,请在服务器请求中包含 cookie 和身份验证信息:
- 如果在调用 XHR 客户端时将
withCredentials
选项设置为 true - 如果服务器回复不包含 CORS 标头
Access-Control-Allow-Credentials: true
,则在将对象返回给 Javascript 之前丢弃响应
对于非 GET 请求,请仅包含 Cookie 和身份验证信息:
- 如果在 XHR 对象上将
withCredentials
设置为 true,则 - 并且服务器已在预检选项中包含 CORS 标头
Access-Control-Allow-Credentials: true
来自 Axios 文档
的简短回答 withCredentials
指示是否应使用凭据
发出跨站点访问控制请求
凭据是 Cookie、授权标头或 TLS 客户端证书参考
withCredentials
的默认值为 false
相关文章:
- nan在C++中是什么意思?为什么pow(-4,-2.1)返回-nan
- 奇怪的函数valChange试图弄清楚是什么以及为什么
- 为什么 arr[0](var = first)没有明确地与 arr[i](计数器变量)进行比较?这里比较的是什么
- 在ES2015中定义一个类,构造函数方法是什么以及为什么它是必不可少的
- 当未定义默认导出时,从“模块”导入模块是什么,为什么它与将 * 导入为模块不同
- Http 请求与凭据这是什么以及为什么使用它
- google_tag_params的意义是什么——为什么我要编码两次
- 这个奇怪的作业速记是什么?为什么它有效
- 文档和元素之间的关系是什么?为什么父元素也有getElementsByTagName方法
- 为什么在严格模式下不允许使用八进制数字文字(解决方法是什么?)
- 为什么函数类型有命名参数?他们的目的是什么?
- 简单的JavaScript空字符串检查,(空字符串)是什么意思,为什么失败
- 为什么console.trace()的结果以一个“匿名函数”结束?这个函数是什么?
- 浏览器渲染网页的顺序是什么,为什么脚本阻塞是一个问题
- 为什么是
- 这指的是什么,为什么?
- 为什么IE's插入符在文本输入中的位置不等于字符串索引?解决方法是什么?
- 定义javascript函数第二个参数的技术是什么以及为什么是未定义的
- 为什么有可能用字符串作为标识符声明属性?做这件事的时候,在引擎盖下面是什么?
- JavaScript 中的 Empty 函数是什么,为什么它没有定义