当我们尝试向远程服务器发出网络请求,而该远程服务器的来源与我们当前的URL(发出请求的来源)不同时,由于网络中存在不同的来源问题,我们很可能会收到CORS错误,而在使用工具时像邮递员一样,我们可以成功避免此CORS错误。
我们需要解释通过网络请求和通过扩展程序(如邮递员)请求时响应行为的差异。
当我们使用网络浏览器向与页面不同的域发出网络请求时,它会阻止该请求,甚至不会通知或联系服务器,并且出于安全原因,通常允许来自相同来源的请求。
但是,当我们使用Postman或任何此类工具时,它们不受此政策的限制。网页可以使用XMLHttpRequest对象从远程服务器发送和接收数据,但是它们受到相同的原始策略的限制,但是诸如Postman之类的扩展并不受此限制。扩展可以与源外的远程服务器通信,这就是Postman成功发出请求而网页由于CORS错误而失败的原因。