预检确认方法和请求头支持
对于需要预检的请求,浏览器先用OPTIONS说明后续拟用方法,以及必要的请求头名称。服务器用相应允许字段回答,成功后浏览器才继续相关请求;并非每一次跨源GET或每一种请求都必须先走这一步。
预检许可可在规定时间内缓存,以减少额外往返。它确认的是CORS请求条件,不替代业务端逐次授权;某些无需预检的请求本来就能到达服务器,因此不能靠不返回共享头来保证所有跨站副作用都不会发生。
参考:[1]
带凭据的共享须更明确许可
credentials模式为include时,共享响应不能用Access-Control-Allow-Origin的星号代替目标来源,还须有相应的Access-Control-Allow-Credentials: true。这个要求按请求模式生效,不应只因某次请求碰巧没有Cookie字节就忽略它。
规范中的跨源预检本身不带凭据,不能把它当作已经完成的用户认证。服务器仍须处理令牌、会话与资源权限;CORS是浏览器执行的共享协议,也不能用来阻止不遵循浏览器规则的直接HTTP客户端请求服务。
参考:[1]