我试图通过阅读https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS来绕过CORS(跨源资源共享)。在这里,我注意到该文件指出:
出于众所周知的安全原因,从脚本中发起的跨站点HTTP请求受到众所周知的限制。例如,使用XMLHttpRequest对象发出的HTTP请求受同源策略的约束。
这对我来说很有意义,因为我之前遇到过以下错误:
XMLHttpRequest无法加载
http://localhost:7000
。没有 '访问控制允许来源'标题出现在请求的上 资源。因此不允许来源http://localhost:9000
访问。
但是,为什么curl http://localhost:7000
会正确返回页面上的JSON?只是curl
命令不是来自脚本的事实吗?此外,浏览器如何识别请求来自脚本?如果这与浏览器显着不同,我很想知道Chrome和Firefox如何检测到这一点。
答案 0 :(得分:0)
在我的想法中 XMLHttpRequest是javascript调用服务器,用于获取数据和noad重新加载页面。首先没有页面加载没有XMLHttpRequest。 Curl是php服务器函数从服务器获取数据并返回到php代码,curl是服务器代码的一部分。