Access-Control-Allowed-Origin: *
的语义清楚,因为请求浏览器有权允许来自任何地方的Javascript读取此响应。但是,出于安全原因" *
不允许使用Access-Control-Allow-Credentials: true
。
现在,这似乎意味着您必须阅读请求的Origin
标头,并在AC-Allowed-Origin
中传回该值,如果您想提供凭据使用一组& #34;列入白名单"起源。但是,只要您这样做,我们现在就避免使用*
,因为我们可以总是返回请求Origin
标题以恢复该行为。
那么*
是什么意思?
立即有两到三个可能但不满意的答案:
*
让每个请求都了解允许来自任何来源*
允许每个请求怀疑凭据永远不会正常工作*
对服务器实施者来说更容易编码这些是唯一的原因吗?是否有*
提供的新语义,无法通过合理使用Access-Control-Allow-Origin
和Access-Control-Allow-Credentials
来提供这些语义?我在任何地方的分析都错了吗?
或者*
完全退化了吗?