✅什么是跨域访问问题,如何解决?

典型回答

跨域访问问题(Cross-Origin Resource Sharing,CORS)是由浏览器的同源策略引起的安全限制。同源策略是一种浏览器安全策略,它要求网页中的所有资源必须来自同一个域名、协议和端口,否则浏览器会阻止跨域的资源请求。

所以,如果在浏览器访问过程中发现域名、端口或者协议不同的时候,就会出现跨域问题。

  1. 域名不同:如从a.com的页面请求b.com的资源。
  2. 协议不同:如从http的页面请求https的资源。
  3. 端口不同:当页面的端口与请求的资源的端口不一致时,同样会触发跨域问题。

解决跨域访问问题的方法有以下几种:

  1. CORS(推荐):CORS是一种机制,通过在服务器端设置相应的响应头来解决跨域问题。服务器在响应中添加Access-Control-Allow-Origin头,指定允许跨域访问的域名或通配符*,使得浏览器可以放行跨域请求。CORS是目前最常用的解决跨域问题的方式,支持现代浏览器。
@CrossOrigin(origins = "*")
public class HollisTestController {

}
  1. JSONP:JSONP是一种跨域通信的技术,它利用