什么是跨域:浏览器的一道安全防线

时间: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:不受同源策略限制。

跨域是浏览器为了保护用户隐私而设置的有意限制,理解它才能找到正确的应对方法。

上一篇:别被「智能建站」忽悠了!聊聊真正适合山东企业的轻量化方案

下一篇:什么是正则表达式:文本处理的瑞士军刀