2015-07-12 55 views
1

我一直在阅读关于CORS的内容,我构建了一个简单的Rails API。我正在尝试构建一个Angular客户端来使用它,并且我知道如何通过向服务器添加allow-access-headers来允许它。但是目前,为什么Chrome可以使用这个API呢?如果我使用chrome通过在URL栏中输入地址访问API端点,则可以看到JSON数据。为什么这是即使我没有对服务器做任何事情来允许CORS。CORS。为什么Chrome可以访问我的API?

+0

你是什么意思“如果我去API端点”?您是否在浏览器中直接拨打网址,方法是在地址栏中输入网址?当然,CORS升降机的限制当然都不适用。 – CBroe

+0

我打算输入一个答案,但重复的确有一个完整的解释。 – bmargulies

+0

如何更轻松地查找未来的副本? – Jwan622

回答

2

为什么这是即使我没有做任何事情让服务器允许CORS。

只有阿贾克斯请求受同源策略和受CORS影响。当您在地址栏中输入网址时,浏览器执行的“正常”HTTP请求不会。

+0

啊,我完全错过了这一点。 – Jwan622

+0

但是从MDN站点:“跨站点HTTP请求是对请求资源域以外的域的资源的HTTP请求,例如,从域A(http://domaina.example)加载的资源, (例如HTML网页)使用img元素(http://domainb.foo/image.jpg)在域B(http://domainb.foo)上请求资源(如图像)。在网络上非常普遍 - 页面以跨站点方式加载大量资源,包括CSS样式表,图像和脚本以及其他资源。“ – Jwan622

+0

我想这不仅仅是Ajax请求...... –