白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

JavaScript-面试-同源策略与跨域

2026年10月16日·Admin·2 次浏览

面试题:什么是同源策略?常见跨域方案?

同源

协议 + 域名 + 端口 三者一致为同源。不同源时:

  • XHR / fetch 受 CORS 限制。
  • iframe 与 window 互访受限制。
  • Cookie 默认随同源请求携带(Domain/Path/SameSite 可细化)。

CORS 简述

浏览器预检 OPTIONS(复杂请求):服务端返回 Access-Control-Allow-Origin、Allow-Methods、Allow-Headers 等;简单请求可直接 GET/POST(带限制)。

凭证请求需 Access-Control-Allow-Credentials: true 且 Origin 不能为 *。

常见方案

  • 代理:开发环境 devServer proxy;生产 同源网关转发。
  • JSONP(仅 GET、老方案,有安全风险)。
  • postMessage:跨窗口通信。
  • Nginx/CORS 响应头 配置。

面试强调:同源策略在浏览器;Node 服务端请求无浏览器 CORS(除非对方服务器限制)。

© 2025 My Blog. Built with Nuxt.js v4