CORS过程的介绍以及跨域问题

CORS过程的介绍以及跨域问题,第1张

域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。

解决方案:

1、js向服务器发送请求,然后让服务器去另一个域上获取数据后返回。(用于你无法控制另一个域) 比如php中利用cUrl。
2、放置跨域文件
3、用JSONP。虽然不能跨域进行通信,但是可以引入跨域的js文件。
先定义一个函数

var returnData;
function getData(obj) {
   returnData = JSONparse(obj);
}


当我们要向>var script = documentcreateElement('script');
scriptsrc='>原文连接: 原文地址

跨域的详细介绍可以参考: 浏览器和服务器实现跨域(CORS)判定的原理 ,这里不多赘述。

1、主要就是客户端向发送了服务端请求,服务器已经能返回数据,但是浏览器不接收
2、在接口里面加上:( 因为request是处理请求,response是返回结果 )

responsesetHeader("Access-Control-Allow-Origin", "");

responsesetHeader("Cache-Control","no-cache"); 

3、如果是使用Spring Boot创建的项目,直接添加 一句注解 到controller和方法就可以了:

@CrossOrigin

其中@CrossOrigin中的2个参数:
origins  : 允许可访问的域列表

maxAge :准备响应前的缓存持续的最大时间(以秒为单位)。
在这个例子中,对于retrieve()和remove()处理方法都启用了跨域支持,还可以看到如何使用@CrossOrigin属性定制CORS配置。如果同时使用controller和方法级别的CORS配置,Spring将合并两个注释属性以创建合并的CORS配置。

4、如果您正在使用Spring Security,请确保在Spring安全级别启用CORS,并允许它利用Spring MVC级别定义的配置。
二、全局CORS配置

除了细粒度、基于注释的配置之外,您还可能需要定义一些全局CORS配置。这类似于使用筛选器,但可以声明为Spring MVC并结合细粒度@CrossOrigin配置。默认情况下,所有origins and GET, HEAD and POST methods是允许的。

JavaConfig

使整个应用程序的CORS简化为:
更多使用请看原文连接和官方文档


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12680081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-27
下一篇2025-08-27

发表评论

登录后才能评论

评论列表(0条)

    保存