跨域请求是指浏览器中运行的前端页面(如网页、小程序等),向不同源的服务器发送的网络请求(如API调用、数据获取等)。这里的“不同源”由浏览器的同源策略定义,是浏览器为了安全而实施的核心限制机制。
1. 什么是“同源”?
同源需要满足三个条件完全一致:
- 协议:如
http、https(http://a.com和https://a.com不同源); - 域名:如
a.com和b.com不同源,a.com和sub.a.com(子域名)也不同源; - 端口:如
a.com:80和a.com:8080不同源(默认端口80可省略)。
示例:
- 前端页面地址:
http://localhost:3000(协议http,域名localhost,端口3000) - 请求的接口地址1:
http://localhost:5000/api→ 同源(仅端口不同?不,端口不同也不同源!这里端口3000 vs 5000,属于跨域) - 请求的接口地址2:
https://localhost:3000/api→ 跨域(协议不同:httpvshttps) - 请求的接口地址3:
http://example.com/api→ 跨域(域名不同:localhost

最低0.47元/天 解锁文章
950

被折叠的 条评论
为什么被折叠?



