前言
当Web项目中使用API与第三方对接时,从一台服务器尝试访问另一台服务器时通过XMLHttpRequest或者fetch发起的跨域请求在浏览器中是会被拦截的,并会在控制台提示
Access to fetch at 'http://192.168.1.23:8088/user/add' from origin http://192.168.1.24' has been blocked by CORS policy...
其中CORS全称"跨域资源共享"(Cross-origin resource sharing),是用来避免浏览器的同源策略拦截跨域请求的问题的。
CORS通过先发送一个OPTIONS类型的HTTP请求到服务器,检查当前发起请求的源是否在服务器中是被认可的跨域请求发起站点,如果是,则在该请求的Response中返回允许该请求访问的头信息,此时浏览器会再次发起正式的数据请求。
通过在服务器中开启CORS支持,则可方便地进行跨域调用了。
Tomcat配置
在Tomcat7中服务器已经支持了CORS请求,只需要我们在 web.xml 中开启支持即可。
catalina.bat version#Server version: Apache Tomcat/7.0.56#Server built: Sep