-
Cors协议:H5中的新特性:Cross-Origin Resource Sharing(跨域资源共享)
-
解决跨域的方法有三种
- 使用script标签(比如jQuery的JSONP)
- CORS(服务端设置Access-Control-Allow-Origin)
- 增加反向代理服务器(消除前后端跨域关系)
-
第一种方法:JSONP原理就是动态创建一个script标签,只能解决GET跨域,需要服务端配合返回回调函数的数据
-
第二种方法:前端需要设置origin头,另外Java的同学要注意spring的@CrossOrigin注解,如果请求还没进到controller就被拦截器等提前拦了,那么跨域响应就失效了(想想真垃圾,所以我一般都是自己实现过滤器来支持跨域)
-
第三种方法:通过和前端同源的域名代理服务器,来转发接口数据,使请求本身不存在跨域。这种方式比较粗暴,且需要另外的服务器资源做代理解决,但确是万能方法。
-
现在的互联网和技术架构下,其实浏览器限制跨域请求的意义是啥?注意说的是限制跨域请求这一部分。