跨域(Cross-Origin)是指在Web开发中,当一个Web应用试图从一个源(域名、协议、端口组合)获取资源时,该请求的目标与当前页面的源不同。具体来说,当一个页面的JavaScript代码尝试向不同域名、协议或端口的服务器发送请求时,就会发生跨域请求。
跨域请求是由浏览器实施的同源策略(Same-Origin Policy)限制导致的。同源策略是浏览器的一项安全机制,旨在保护用户的隐私和安全。同源策略要求Web页面只能从相同源加载资源,不同源的页面不能访问彼此的数据,以防止恶意网站获取用户的敏感信息。
跨域请求通常发生在以下情况下:
-
不同域名之间的请求: 例如,前端应用部署在
http://example.com
,而后端API服务部署在http://api.example.com
。 -
不同子域之间的请求: 例如,前端应用部署在
http://www.example.com
,而后端API服务部署在http://api.example.com
。 -
不同协议之间的请求: 例如,前端应用部署在
https://example.com
,而后端API服务部署在http://api.example.com
。