JS Fetch API - 如果默认情况下fetch不会从服务器发送或接收任何cookie,我应该何时使用凭证选项和“省略”值?

问题描述 投票:1回答:1

在MDN Fetch API页面(Sending a request with credentials included部分)上写道:

相反,要确保浏览器不在请求中包含凭据,请使用凭据:'省略'。

fetch('https://example.com', {
  credentials: 'omit'  
})

但是,最初,它还写道:

默认情况下,fetch不会从服务器发送或接收任何cookie,如果站点依赖于维护用户会话,则会导致未经身份验证的请求(要发送cookie,必须设置凭证init选项)。

我的问题是,如果我想省略cookie和auth标题,如果默认情况下(如果没有credentials: 'omit')写的话,我为什么要先使用credentialsfetch不会发送cookie?

javascript credentials fetch-api
1个回答
1
投票

由于对whatwg/fetch的讨论,2017年底默认值从omit变为same-origin

浏览器在2018年迎头赶上,所以你可以看到一些旧的浏览器仍然使用omit。例如,Firefox从61开始从omit更改为same-origin。Chrome已从版本72更改。您可以查看完整列表here

更有趣的是,whatwg page(最后更新时间为2019年3月23日)的标准仍然是omit

© www.soinside.com 2019 - 2024. All rights reserved.