CORS 介绍
CORS(Cross-Origin Resource Sharing)是一种跨域访问技术,用于解决跨域请求的问题。在发送跨域请求前,用户浏览器会先发送一个预检请求。预检请求使用 OPTIONS 方法,包含 Origin 请求头用于指示请求的来源。
服务器收到预检请求后,根据服务器上的跨域配置:
- 如果 Origin 的值不在服务器上的
Access-Control-Allow-Origin
列表中,服务器响应 403 状态码,表示不允许来自该 Origin 的请求。 - 如果 Origin 的值在
Access-Control-Allow-Origin
列表中,服务器在预检请求的响应中至少会包含Access-Control-Allow-Origin
与Access-Control-Allow-Methods
头部。Access-Control-Allow-Origin
告知浏览器哪些请求来源是合法的。Access-Control-Allow-Methods
告知浏览器在发送跨域请求时可以使用的方法。之后,浏览器发送跨域请求。
备注:本文不对 CORS 原理做详细描述。上述介绍仅服务于本文主题。
CDN + TOS 的跨域场景
在火山引擎内容分发网络(CDN)中,您可以设置源站为火山引擎对象存储(TOS)中的一个存储桶,对存储桶中的文件进行传输加速。在 CDN 缓存来自存储桶的文件时,该文件的响应头会随文件一起被缓存。
在 CDN + TOS