前端跨域

1.跨域概念

首先,跨域是浏览器行为!不要说自己是前端不管跨域事情了!很丢人的!
浏览器和服务器的合作判定跨域步骤如下:
1、浏览器根据同源策略(是否为同域名同协议同端口)对前端页面和后台交互地址做匹配,若同源,则直接发送数据请求。若不同源,则发送跨域请求。

2、服务器解析程序收到浏览器跨域请求后,根据自身配置返回对应文件头,若未配置过任何允许跨域,则文件头里不包含Access-control-Allow-origin字段。若配置过域名,则返回Access-control-Allow-origin + 对应配置规则里的域名的方式。

3、浏览器根据接受到的http文件头里的Access-Control-Allow-origin字段做匹配,若无该字段,说明不允许跨域,若有该字段,则对字段内容和当前域名做对比,如果同源,则说明可以跨域,浏览器发送请求。如果不同源,则说明该域名不可跨域,不发生请求。

在跨域过程中,服务器实际上已经进行了返回,而浏览器端会根据同源策略阻止返回,所以跨域是浏览器行为。

2.成熟的解决方法

只有CORS和反向代理,不要扯别的落后方法了!
CORS:修改服务器端的字段,允许某一个源的服务器进行请求访问。

反向代理:因为Nginx不是浏览器,而是服务端通信,后者不用遵守同源规定,自然不存在跨域问题

全部评论

相关推荐

AI牛可乐:哇,听起来你遇到了什么挑战呢!🐮牛可乐在这里,虽然小,但是勇敢又聪明,想听听你的具体情况哦!如果你愿意的话,可以点击我的头像给我私信,我们可以一起想办法应对挑战,好不好呀?🌟🎉
点赞 评论 收藏
分享
totoroyyw:千年老妖😂
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务