【问题标题】:What is the difference between get requests via XMLHttpRequest, curl, and browser URL in terms of CORS?就 CORS 而言,通过 XMLHttpRequest、curl 和浏览器 URL 获取请求之间有什么区别?
【发布时间】:2026-02-07 00:15:02
【问题描述】:

我试图通过阅读https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS 来了解 CORS(跨源资源共享)。在这里,我注意到文件指出:

出于众所周知的安全原因,从 脚本 内发起的跨站点 HTTP 请求受到众所周知的限制。例如,使用 XMLHttpRequest 对象发出的 HTTP 请求受同源策略的约束。

这对我来说很有意义,因为我之前遇到过以下错误:

XMLHttpRequest 无法加载 http://localhost:7000。不 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点http://localhost:9000 访问。

但是,为什么curl http://localhost:7000 会正确返回位于页面上的 JSON?仅仅是curl 命令不是来自脚本的事实吗?此外,浏览器如何识别请求来自脚本?如果这在不同浏览器之间存在显着差异,我很想知道 Chrome 和 Firefox 是如何检测到这一点的。

【问题讨论】:

  • curl!=XMLHttpRequest ,MDN 文章与客户端脚本有关

标签: javascript curl xmlhttprequest


【解决方案1】:

在我的想法中 XMLHttpRequest 是用于获取数据和 noad 重新加载页面的 javascript 调用服务器。没有页面加载首先没有 XMLHttpRequest。 curl是php服务器函数从服务器获取数据并返回php代码,curl是服务器代码的一部分。

【讨论】:

  • 这条评论很难理解
最近更新 更多