SpringMVC跨域请求问题

 
  
  

前言:众所周知,出于安全考虑,XMLHttpReqeust 对象发起的 HTTP 请求必须满足同源策略(same-origin policy)的规定,否则浏览器将会对该请求进行限制。虽然同源策略的实现带来的Web安全的提升,但是却为一些正规的跨域需求带来不便,故此衍生出了若干种绕开同源策略的跨域方案,其中 JSONP 就是使用的比较多的方案,但 JSONP 是一个非官方的跨域协议同时也只支持 GET 请求,而后来 W3C 推出 CORS 协议相比 JSONP 支持更多的方法也允许使用普通 XMLHttpRequest 发送请求,所以我们有理由使用更加现代的跨域方案。关于 CORS 的详细内容可以阅读文章HTTP访问控制(CORS)

//#允许向该服务器提交请求的URI,*表示全部允许,在SpringMVC中,如果设成*,会自动转成当前请求头中的Origin
response.setHeader("Access-Control-Allow-Origin", "*");
//#允许提交请求的方法,*表示全部允许
response.setHeader("Access-Control-Allow-Methods", "POST, GET,PUT,DELETE,PATCH");
//预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
response.setHeader("Access-Control-Max-Age", "1800");
//允许Cookie跨域,在做登录校验的时候有用
response.setHeader("Access-Control-Allow-Credentials", "true");
//允许访问的头信息
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

参考:https://www.jianshu.com/p/d05303d34222
https://www.jianshu.com/p/9203e9b14465

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值