CORS 跨域资源共享

CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种 Web 浏览器用于限制跨域 HTTP 请求的机制,通过 HTTP 标头来控制跨域请求的访问。

跨域:一个域名的网页向另一个域名的服务器发送请求。

同源策略

浏览器默认不允许从一个域名的网页向另一个域名的服务器发送请求。这是浏览器的安全策略。

CORS 主要作用

  • 控制跨域请求:哪些域名、哪些请求方法允许
  • 保护资源:避免网页脚本恶意访问其他域名资源
  • 安全标准:确保跨域请求安全可控

关键 HTTP 标头

标头作用
Access-Control-Allow-Origin指定允许的域名
Access-Control-Allow-Methods允许的 HTTP 方法(GET, POST, PUT 等)
Access-Control-Allow-Headers允许的请求头
Access-Control-Expose-Headers允许暴露的响应头
Access-Control-Max-Age预检请求有效期
Access-Control-Allow-Credentials是否允许携带 Cookie

简单请求 vs 预检请求

  • 简单请求:不会触发 CORS 预检请求(如 GET、POST 且 Content-Type 为表单类型)
  • 非简单请求:浏览器先发送 OPTIONS 预检请求,确认服务器允许后再发送实际请求

相关笔记

参考