关于跨域问题的总结

跨域问题经常在浏览器访问接口时看到。

协议 + 域名 + 端口 三者完全相同,才算是同源。

理解跨域把握住一个点:是否允许跨域是后端要求的,前端只是执行者,如果接口返回不允许跨域且前后端不是同源,就会报错了。

再者是否允许跨域是根据返回体判断的所有,即使报跨域问题,接口也是执行的,数据库也是会访问的。

后端服务互相调用没有跨域问题是因为后端调用不像前端一样会检查是否跨域这个要求。

前端检查跨域是因为恶意网站的js脚本会获取到你的正规网站的cookie和本地存储位置,然后冒充访问。这块要注意了,浏览器的作用是帮我们拦截返回体。恶意脚本也能正常正规网站的接口,但是接口返回时浏览器发现不是同源请求就会报跨域异常。 举例子造成的结果就是,可能转账已经发起了,但是看不到是否成功的返回。

从这里也能看到一个好的浏览器的重要性。

同时要在后端服务中禁止设置为允许跨域的通配符。可以用@crossorigin设置个别接口为允许跨域。

同时也可以在ng中统一设置允许跨域。

相关推荐
martindelophy14 小时前
Codex Chrome 插件 + Timeline Studio:构建可编辑的 AI 视频剪辑 Agent 工作流
前端·人工智能·chrome
xiaotianyuanma15 小时前
【计算机毕业设计】基于Spring Boot的体育馆预约系统的设计与实现
java·spring boot·课程设计
何以解忧,唯有..15 小时前
MySQL 索引分类与底层原理深度剖析
java
whyutianict_vv15 小时前
从 Web 前端到 HarmonyOS ArkTS:一次 AI 鸿蒙全栈智能体开发的迁移实录
前端·人工智能·harmonyos
水无痕simon15 小时前
6、六大工作模式-2
java·rabbitmq
qziovv15 小时前
前端转flutter——项目架构、初始化
前端·flutter
2601_9638702115 小时前
【计算机毕业设计】基于Spring Boot的非遗文创产品交易平台的设计与实现
java·spring boot·后端
lv__pf15 小时前
Spring之AOP底层源码解析(下)【TL spring14】
java·后端·spring
Ali8852016 小时前
Python字符串方法速查表大全
前端·python
前端_刘师兄16 小时前
FAE工程师学习路线-进程
前端