从浏览器发出HTTP请求,而不在请求标头中发送任何cookie

Make an HTTP Request from a browser, without sending any cookies in the request headers

本文关键字:请求 cookie 任何 浏览器 HTTP      更新时间:2023-09-26

是否可以从浏览器发出请求,最好使用内置的XMLHttpRequest API,"不"在请求头中发送任何cookie?

据我所知,将"allowCredentials"属性设置为false只会禁用CORS请求的Cookie,在CORS请求中,我希望向同一服务器发出请求,而不发送"Cookie"标头。

我知道这听起来有点奇怪,但由于当前项目的限制,我无法更改服务器以更改"设置Cookie"响应标头中的"路径"。

我不确定是否有办法为单个请求排除cookie。

如果你知道cookie的名称,并且以后其他请求不需要它们,你可以删除它们的值,如下所示:

document.cookie="COOKIENAME=";

不过,cookie名称仍将存在。

如果您以后需要这些值,您可以将cookie保存到一个变量:

var cookie = document.cookie;
// Delete the cookie values like above.
// Make a request without cookie values.
document.cookie=cookie;

但是,如果您需要同时发出带有和不带有cookie值的请求,这显然是行不通的。如果cookie具有HTTPOnly属性,您将无法读取或更改其值。