主题
同源策略与跨域
源的判定与同源策略
常见 HTTP(S) URL 的源由协议、主机、有效端口决定。任一不同即跨源。
同源策略主要限制脚本读取跨源数据或操作其他源文档。跨源导航、嵌入及部分请求仍可发生。
CORS 与跨源响应读取
CORS 通过响应字段声明浏览器可向哪些源的脚本暴露响应。允许单个源时 Access-Control-Allow-Origin 需与请求的 Origin 匹配。
CORS 是浏览器强制执行的共享规则。简单跨源请求可能已到服务器,即使响应对脚本不可读。
CORS 预检请求与跨域凭证
使用非安全列表方法或请求头字段时通常需要预检。浏览器检查预检响应允许的源、方法和字段。
带凭证的 CORS 响应需声明具体源和 Access-Control-Allow-Credentials: true。Cookie 仍受 SameSite 和浏览器隐私策略约束。
规范参考:WHATWG Fetch 标准
