什么是背后的实际POST,UPDATE,PUT或DELETE请求时不同的域调用之前发送OPTION请求的原因? (所以CORS请求)我知道它应该检查服务器是否可以处理真正的请求,但为什么不立即发送真正的请求?在CORS请求的POST之前使用OPTION请求的原因是什么?
一些原因,我曾经想过:
- 看看该方法支持
- 发送真正的请求将返回相同的状态代码,所以 无需首先发送OPTION请求。
- 检查用户是否允许发送请求
- 没有任何意义,因为没有身份验证头与OPTION发送请求在服务器上
- 防止重负载
- 没有意义,因为在处理数据之前检查授权规则。
- 要检查是否请求头和原产地允许
- 这是它是如何工作了,但是又为什么不直接发送请求,我们可以从实际的请求读取错误。
- 禁止发送POST数据,如果它不会被处理
- 这是唯一的原因是什么是有效的。使用选项请求将阻止不必要地将发布数据发送到服务器。不过,我认为在99%的时间内这不是问题,因为只发送一小块数据。
有人可以提供一些线索上的原因,浏览器厂商调用不同的域时实施OPTION请求?