fetch 自动加cookie_Cookie的设置、读取以及是否自动携带问题

本文详细介绍了Fetch API与Cookie之间的交互规则,包括客户端和服务端设置Cookie的限制、读取Cookie的情况,以及Fetch请求中如何处理Cookie。重点讨论了跨域请求时Fetch和Ajax如何携带Cookie,强调了credentials选项的作用和设置方式。
摘要由CSDN通过智能技术生成

不行! 只能向当前域或者更高级域设置cookie

例如 client.com

不能向 a.client.com

设置cookie, 而 a.client.com

可以向 client.com

设置cookie

读取cookie情况同上

客户端设置cookie与服务端设置cookie有什么区别?

无论是客户端还是服务端, 都只能向自己的域或者更高级域设置cookie

例如 client.com

不能向 server.com

设置cookie, 同样 server.com

也不能向 client.com

设置cookie

服务端可以设置 httpOnly: true

, 带有该属性的cookie客户端无法读取

客户端只会带上与请求同域的cookie, 例如 client.com/index.html

会带上 client.com

的cookie, server.com/app.js

会带上 server.com

的cookie, 并且也会带上httpOnly的cookie

但是, 如果是向服务端的ajax请求, 则不会带上cookie, 详情见第三个问题

ajax请求到底会不会带上cookie?

默认情况下不会, 只有当设置了 credentials

时才会带上与请求同域的cookie, 并且服务端需要设置响应头 Access-Control-Allow-Credentials: true

, 否则浏览器会报错, 拿不到响应

fetch 设置 credentials

By default, fetch won't send or receive any cookies from the server, resulti

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值