Cors 科尔斯。为什么chrome可以访问我的API?

Cors 科尔斯。为什么chrome可以访问我的API?,cors,Cors,我一直在阅读有关CORS的文章,并构建了一个简单的Rails API。我正在尝试构建一个Angular客户机来使用它,我知道如何通过向服务器添加allow access头来实现这一点。但目前,为什么chrome可以使用这个api?如果我通过在URL栏中键入地址来使用chrome访问API端点,我可以看到JSON数据。为什么即使我没有对服务器做任何允许CORS的操作,也会出现这种情况 为什么即使我没有对服务器做任何允许CORS的操作,也会出现这种情况 只有Ajax请求受同源策略的约束,并受CORS

我一直在阅读有关CORS的文章,并构建了一个简单的Rails API。我正在尝试构建一个Angular客户机来使用它,我知道如何通过向服务器添加allow access头来实现这一点。但目前,为什么chrome可以使用这个api?如果我通过在URL栏中键入地址来使用chrome访问API端点,我可以看到JSON数据。为什么即使我没有对服务器做任何允许CORS的操作,也会出现这种情况

为什么即使我没有对服务器做任何允许CORS的操作,也会出现这种情况


只有Ajax请求受同源策略的约束,并受CORS的影响。“正常”HTTP请求(如在地址栏中键入URL时由浏览器执行的请求)不是。你说的“如果我转到API端点”是什么意思?您是否通过在地址栏中键入URL,直接在浏览器中调用URL?当然,CORS电梯的所有限制都不适用。我要打一个答案,但是副本确实有一个完整的解释。我以后如何更容易地查找副本?@b我仍然不明白为什么我的浏览器可以使用url地址栏而不是AJAX请求发出请求。@Jwan622:同样,同源策略特别适用于AJAX请求,但一般不适用于浏览器。如果您在地址栏中键入URL,那么您发出的是请求,而不是页面。啊,我完全错过了这一点。但是从MDN站点:“跨站点HTTP请求是对来自不同域的资源的HTTP请求,而不是发出请求的资源的域。例如,从域a加载的资源()例如HTML网页,使用img元素()请求域B()上的资源,例如图像。这在今天的web上非常常见-页面以跨站点的方式加载大量资源,包括CSS样式表、图像和脚本以及其他资源。“我猜这不仅仅是Ajax请求。。。