为何无CORS响应头仍可显示跨站点图片?
为什么跨域引用图片不需要CORS响应头也能正常显示?
- 浏览器的跨域限制核心是防止脚本非法读取跨域资源的内容,而非完全禁止跨域资源的加载。
img、script、link这类标签发起的是被动嵌入类请求,属于浏览器的原生资源加载行为,这类请求的响应内容只会被浏览器用于页面渲染(比如显示图片、执行脚本),不会暴露给页面中的JavaScript代码。因此浏览器不会对这类请求强制要求CORS响应头,只要资源本身能正常返回,就会加载显示。- 只有当你通过
XMLHttpRequest、Fetch API这类主动发起的跨域请求,或者尝试用JS读取跨域图片的像素数据(比如用Canvas操作图片)时,浏览器才会检查响应的CORS头,若未配置则会阻止JS访问响应内容。
内容的提问来源于stack exchange,提问作者Jayy
相关产品推荐
相关产品推荐

