关于跨域问题的总结

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

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

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

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

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

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

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

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

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

相关推荐
CoderYanger5 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
CQU_JIAKE8 小时前
11.7[高体】
java·后端·spring
apcipot_rain9 小时前
C++转Java日记(04)
java·开发语言·c++
红尘散仙9 小时前
谁说终端只能敲键盘?我用 Rust 给小说阅读器加上了鼠标
前端·后端·rust
特立独行的猫A9 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
陈随易10 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
ZhengEnCi10 小时前
Agent 工具怎么折叠海量输出才「爽」:Trae、Claude Code 的渐进式披露设计原理
前端·agent
憧憬成为java架构高手的小白11 小时前
LangGraph4j 实战(下)
java
天诰11 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
IT_陈寒13 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端