跳至主要内容
短.be

CORS

Cross-Origin Resource Sharing 的缩写,一种允许网页从不同域名请求资源的安全机制。

2026年8月11日 · 约 1 分钟阅读

安全

CORS (Cross-Origin Resource Sharing) 是 Web 浏览器控制不同源之间资源共享的安全机制。源指协议、域名和端口的组合。它放宽同源策略,用于允许正当的跨源请求。

例如,从 `https://app.example.com` 的前端向 `https://api.example.com` 的 API 发送请求时,由于子域名不同,这属于「跨源」,若 API 服务器一侧不设置 CORS 响应头,浏览器就会拦截响应。要设置的响应头是 `Access-Control-Allow-Origin`,在其中指定允许的源。

CORS 中最容易被忽略的是预检请求。对于 `GET` 和 `POST` 之外的方法,或包含自定义请求头的请求,浏览器会在正式请求之前先用 `OPTIONS` 方法确认「这个请求可以发送吗?」。若服务器一侧没有对 `OPTIONS` 请求做出恰当响应,正式请求就不会被发送。在 API Gateway 或 Lambda 上配置 CORS 时忘记处理 `OPTIONS`,是实务中最常见的问题。

`Access-Control-Allow-Origin: *` 即允许所有源,开发阶段很方便,但生产环境中无法与包含认证信息 (Cookie) 的请求并用。需要认证的 API,必须明确指定允许的源,并设置 `Access-Control-Allow-Credentials: true`。

从外部调用短链接服务的 API 时,CORS 的设置是必不可少的。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

CORS 错误发生的原因是什么?
因为浏览器阻止了对不同源(域名、端口、协议)的请求。可以通过在服务器端设置 Access-Control-Allow-Origin 头来解决。
什么是 CORS 预检请求?
浏览器在发送正式请求前用 OPTIONS 方法发送的确认请求。用于事先确认服务器允许的方法和头信息,确保安全性。

把知识用到真实链接上

免费缩短网址