关于跨域问题的总结

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

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

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

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

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

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

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

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

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

相关推荐
JeffongTan8 小时前
在LWC中镶嵌VF Page获取用户IP
前端·javascript·salesforce
phltxy9 小时前
C语言操作符详解
java·c语言·算法
步行cgn10 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
sunshine22 girl10 小时前
Java学习一 环境配置2 安装和基本使用Idea
java·学习·intellij-idea
陆枫Larry10 小时前
Astro 是什么
前端
嘿嘿-6611 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web
是立不是利12 小时前
写给设计师的 CSS 博客美学指南
前端·css
默_笙12 小时前
🏝 Docker 就是"房地产开发":从施工图纸到小区物业的容器化指南
前端·javascript
计算机魔术师12 小时前
Rohan Paul 谈用时间跨度衡量智能体能力,并引用 OpenAI 自动化研究实习生里程碑
前端
kyriewen12 小时前
我手写了个极简版 React Router——才搞懂 v6 为什么砍了这么多 API
前端·javascript·程序员