跨域请求(Cross-Origin Resource Sharing, CORS)是指 浏览器的前端代码尝试从与其不同的源(协议、域名或端口)加载资源时发生的请求。同源策略是Web浏览器的一种安全特性,它限制了一个域下的页面去请求另一个域下的资源。当请求的目标URL与当前页面的URL在协议、域名或端口上有一个不同,这个请求就被视为跨域请求。
例如,如果一个前端页面运行在`http://localhost:3000`,而它尝试访问`http://localhost:5000`的后端API,即使两个URL的域名相同,但由于端口号不同,这个请求也会被视为跨域请求。
由于同源策略,浏览器会默认阻止这种跨域请求,以保护用户的安全和隐私。为了解决跨域问题,开发者可以采用以下几种方法:
服务器端设置CORS响应头:
通过在服务器端设置适当的CORS响应头,允许特定的外部域访问资源。
使用代理服务器:
在本地开发环境中,可以使用代理服务器将前端和后端服务代理到同一个域下,从而避免跨域问题。
JSONP:
这是一种利用`