1

我在客户端配置了两种类型的 CORS 请求。一个实现 GET 方法,另一个实现 POST。

在使用第一个 GET 发出初始预检 OPTIONS 后,后续的 GET 和 POST(使用 jQuery Ajax 对象配置几乎相同)之前不会进行预检。

当我监控 Chrome 网络面板时,我没有看到 OPTIONS 预检在后续请求之前发出。

一旦浏览器验证了服务器接受了哪些方法和来源,并且一旦接受了第一个预检,浏览器是否不会发送任何后续预检,因为它和服务器之间已经建立了 CORS 通信?

4

1 回答 1

4

预检请求始终是必需的,但如果服务器允许,它可以被浏览器缓存。服务器响应一个Access-Control-Max-Age标头,该标头指定可以缓存预检请求的时间(以秒为单位)。因此,如果您没有看到 OPTIONS 请求,则它一定已被浏览器缓存。

于 2015-04-23T07:25:39.117 回答