跨域cors中如何传递cookie(前端为什么无法向后端传递cookie?)

摘要:
没有跨域后端服务器。只要响应标头为“set cookie”,就会生成cookie并保存在客户端中。当客户端再次将请求发送到后端服务器时,浏览器机制将自动携带cookie并将其与请求一起发送到后端。默认情况下,跨域浏览器无法主动跨域向后端发送cookie。如果要向服务器发送cookie,需要将withCredentials设置为true。但是,服务器不能自由接受并向您返回新的cookie。另一方面,饼干通常是硬性要求。设置可访问的域以灵活使用cookie仍然是诚实的
  • 没有跨域

后端server只要在回应头部‘set-cookie’,那么就会有cookie产生并保存在客户端client。

等到client再次向后端server发送请求时浏览器的机制就会自动携带cookie随着请求一并发送给后端。

  • 跨域

浏览器默认情况下无法主动跨域向后端发送cookie, 如果你要发送cookie给server的话, 就需要将withCredentials设置为true了.

但是,server并不是随便就能接受并返回新的cookie给你的。 在server端,还需要设置. Access-Control-Allow-Credentials: true

这样server才能返回新的cookie给你. 但是,这还有一个问题,就是cookie还是遵循same-origin policy的。 所以, 你依旧无法使使用它.

最多是访问到它。即使你设置了cors!所以很多时候你能访问到cookie,即使在客户端做了修改它也不会改变,他的CRUD只能由 server控制.

  • 最后建议

最好不要设置cors,一方面不安全(出于开发时的便捷,你可以使用一些中间件的代理例如proxyTable,帮你实现请求转发达到跨域请求的效果)。

另一方面cookie很多时候都是硬需求,还是老老实实的设置可访问的域,这样才能灵活使用cookie

免责声明:文章转载自《跨域cors中如何传递cookie(前端为什么无法向后端传递cookie?)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用全角空格进行文本对齐Android自定义组合控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

《网络攻防》实验九:web安全基础实践

本次实验在XX同学的指导下完成 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击的基本原理,是从客户端合法接口提交特殊的非法代码,让其注入到服务器端执行业务的SQL中去,进而改变SQL语句的原有逻辑和影响服务器端正常业务的处理。 SQL注入攻击是Web应用中一个重要的安全问题,虽然Java具备较高的安全性,但如果开发人员不注意,也有可...

12.tomcat7切换tomcat8导致cookie异常

一、现象 换成Tomcat8后出现cookie报错 二、分析 经异常去查看源码发现,Tomcat8对cookie校验规则改变,更为严格的校验了cookieHeader不允许有, 日志中的[XXXXX,XXXX]被当做异常处理。 三、解决方案 1.该异常不影响系统运行,可以注意打印cookie的格式 2.编写现有类,代替原有cookie处理类(此方法经常用来...

flask设置cookie,设置session,模拟用户认证、模拟管理后台admin、模拟用户logout --

设置cookie HTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息。但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来返回不同的响应。为了解决这个问题就有cookie技术 。cookie技术通过在请求和响应报文中添加cookie数据来保存客户端的状态信息。 cookie值we...

验证码实现原理

最简单的验证码   极验验证   扫码登录   12306验证码 先说结论吧 仔细了解了一番后,发现,其实 验证码 ,还是基于session原理 或者token原理 什么是session 这里推荐一本书《图解http》,里面讲解的很清楚。如果只是想简单的了解一下session,可以看看这个文章。 什么是token token是另一种使用较多的鉴权方式,具...

HTTP 请求头 Header

HTTP 请求头 Header  HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEAD)。   如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-...

一个封装了localStorage的增删改查的方法

localStorage的增删改查都其实比较简单,每次需要判断浏览器是否禁用,这挺麻烦的; 而且没有像COOKIE一样的,自动过期时间,长期下去会有垃圾数据在里面;我们知道android的系统只支持5M存储空间,iphone是10MB,一旦超过限制会提示用户,甚至报错。 一、包含一下功能: 1、定时清理localStorage; 2、支持过期时间; 3、检...