当前位置: 首页 > 面试题库 >

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

周辉
2023-03-14
问题内容

我在节点和角度的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


 类似资料:
  • 我已经写了一段时间的iPhone应用程序,发送数据到服务器,接收数据(通过HTTP协议),没有想太多。理论上,我主要熟悉进程,但我不太熟悉的部分是HTTP多部分请求。我知道它的基本结构,但它的核心我不知道。 似乎每当我发送不同于纯文本的东西(如照片,音乐),我必须使用多部分请求。有人能简单地向我解释一下为什么要用它,它的优点是什么吗? 如果我使用它,为什么这样发送照片更好?

  • 问题内容: 我经常在PHP中看到包含include.inc文件的示例。.inc是什么意思?它的作用是什么?使用它的缺点和优点是什么? 问题答案: 它没有任何意义,只是一个文件扩展名。如果扩展名是.inc的文件被设计为包含在其他PHP文件中,这是某些人的惯例,但这只是惯例。 它确实存在一个可能的缺点,即通常没有将服务器配置为将.inc文件解析为php,因此,如果该文件位于您的Web根目录中,并且您的

  • 问题内容: serialVersionUID缺少a时,Eclipse发出警告。 问题答案: 首先,我需要解释什么是序列化。 序列化 允许将对象转换为流,以便通过网络发送该对象,或者保存到文件或保存到DB以供使用。 有一些序列化规则。 仅当对象的类或其超类实现接口时,该对象才可序列化 一个对象是可序列化的(本身实现了接口),即使其超类不是。但是,可序列化类的层次结构中的第一个超类(不实现Serial

  • 问题内容: 以下是ajax请求。 这就是delete.php 运行代码后,它将成功删除文件,但不会显示任何消息。 我也尝试将ajax请求更改为: 仍然不显示该消息。所以我想在delete.php文件中出了点问题。请帮忙。 问题答案: 进行jquery + ajax + php的最佳方法如下: jQuery的: PHP:

  • 我正在探索HTTP Origin检查作为Drupal在https://www.drupal.org/node/1803712的CSRF保护的想法 现在我正在测试Origin头是如何通过POST请求到达的,但是Firefox不会在用户登录表单提交上发送Origin头。Chromium和Chrome工作正常,他们发送Origin头。 Firefox版本是36.0.1。我还用一个干净的Firefox安装