什么是跨域:浏览器的一道安全防线
时间:2026-05-29 13:19:40 阅读:5
前后端分离开发中,前端开发者最常遇到的报错之一就是跨域问题。浏览器弹出一条错误:No 'Access-Control-Allow-Origin' header is present。
同源策略
浏览器出于安全考虑,默认只允许页面请求同源(协议+域名+端口完全一致)的资源。如果你的前端部署在 a.com,向 b.com 的 API 发请求,就触发了跨域限制。这是为了防止恶意网站窃取其他网站的数据。
CORS 解决方案
后端在响应头中设置 Access-Control-Allow-Origin 来告诉浏览器:这个来源可以访问。如果需要携带 Cookie 或自定义 Header,还要额外设置 Access-Control-Allow-Credentials 等响应头。浏览器在发起正式请求前,有时还会先发一个 OPTIONS 预检请求来确认服务器是否允许。
其他解决方案
JSONP:利用 script 标签不受同源策略限制的特性(只能 GET 请求,安全性差)。反向代理:在 Nginx 层把跨域请求转发到目标服务器,对浏览器来说是同源请求。WebSocket:不受同源策略限制。
跨域是浏览器为了保护用户隐私而设置的有意限制,理解它才能找到正确的应对方法。




提供云计算服务