• 跨域cors中如何传递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

  • 相关阅读:
    Android读写SD卡
    如何用c语言调用c++做成的动态链接库
    css3 翻转和旋转的区别
    若干道Swift面试题
    可控制导航下拉方向的jQuery下拉菜单代码
    Mysql主从备份和SQL语句的备份
    .net 读书笔记
    .NET框架体系结构
    原则干货存起来
    【转】php和java之间rsa加密互通
  • 原文地址:https://www.cnblogs.com/xiaojingyuan/p/7606536.html
Copyright © 2020-2023  润新知