【问题标题】:AJAX request from one subdomain to another subdomain, but on the same domainAJAX 请求从一个子域到另一个子域,但在同一个域上
【发布时间】:2010-01-20 13:14:57
【问题描述】:

我知道除非您使用“代理”一台服务器,否则您不能进行跨域 ajax 请求。

但是,如果我从 server1.example.com 向 server2.example 发出 ajax 请求,即使它位于 example.com 的同一个域中,这是否也不起作用?

我很确定 YouTube 等网站会向不同的服务器发出 ajax 请求。例如从 youtube.com 到 vs1022.youtube.com 的请求等。

对此的任何澄清都将是极好的。感谢您的宝贵时间。

【问题讨论】:

标签: javascript ajax cross-domain


【解决方案1】:

server1.example.com 和 server2.example.com 被视为 AJAX 请求的跨域。

您需要在服务器端设置标头Access-Control-Allow-Origin: *。

【讨论】:

  • 真的就这么简单吗?太好了,但是,我很好奇,为什么不是每个人都这样做并且没有创建代理等的麻烦? :-)
  • 基本上很简单,是的,您可以在developer.mozilla.org/en/HTTP_access_control 阅读更多内容,为什么默认情况下不允许这样做是出于安全原因和政策。例如,如果允许,server1.example.com 可以使用 ajax 实时加载来自server2.example.com 的所有数据,然后可以进行非常好的网络钓鱼:-)
【解决方案2】:

Access-Control-Allow-Origin: * 标头应由 Web 服务提供商维护的一组白名单组成,除非 Web 服务使用身份验证令牌验证请求。

【讨论】:

    猜你喜欢
    • 2013-07-04
    • 2015-01-05
    • 2019-01-12
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多