前端跨域

1.跨域概念

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

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

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

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

2.成熟的解决方法

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

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

全部评论

相关推荐

03-10 11:23
门头沟学院 Java
点赞 评论 收藏
分享
03-12 09:57
软件测试
程序员小白条:1)确定测试,测开的方向,技术栈不能写这么少 2)课程凑数的,不是99,100分没必要写 3)实习经历这块要有突出的不是劳动性质的亮点,自己设计的什么方案,什么自动化?什么提效工具?不是一些边角料,人云亦云的东西,没吸引力 4) 校园经历纯没用 5)尽量少写减分项
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务