javascript - 在 'Access-Control-Allow-Origin' 设置为 '*' 的 connectjs 中提供静态文件

标签 javascript node.js http-headers

我正在使用 Connect.js 在 Node.js 应用程序中提供我的静态文件;但是,我希望能够从多个来源向这些静态文件发出 GET 请求,因此我希望能够设置 'Access-Control-Allow-Origin' : '*' 在这些静态文件的响应 header 。

我的问题是,我将如何使用 Connect 来做到这一点?到目前为止,这是我的服务器:

var connect = require('connect');
var server = connect(
    connect.static(__dirname + '/public')
);
server.listen(8080); 

最佳答案

一般来说,Access-Control-Allow-Origin 仅适用于 ajax 请求。当您提供静态文件时,您无需担心该特定 header 。任何人都可以在默认配置中请求这些文件,无论来源如何。

当您提供常规页面时遇到问题,然后您想通过该页面的 javascript 请求。然后,您需要设置 Access-Control-Allow-Origin 策略以允许从该特定页面向其他域发出 ajax 请求。

此外,您在尝试访问 Web 服务时最常遇到这种情况。在这些情况下使用 JSONP 而不是使用那个特定的 header 是很常见的。特别是 * 因为它引入了安全风险。参见 http://www.ibm.com/developerworks/library/wa-aj-jsonp1/http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/

MDN 资源:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

乔希

关于javascript - 在 'Access-Control-Allow-Origin' 设置为 '*' 的 connectjs 中提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268108/

相关文章:

node.js - Bower 安装后缺少 bower_components 文件夹

html - 通过 http header 添加图标

javascript - 在 import 语句中使用解构

javascript - 如何将我的 leaflet.draw 单位从英制更改为公制?

javascript - JavaScript 中的执行上下文

rest - Google Routes api X-Goog-FieldMask 不起作用

http - 如何判断用户是否真正通过 Google 登陆我的网站?

javascript - 克隆一个 div 并插入到亲戚 parent 中 sibling 的最后一个 child 之后

node.js - Npm 安装失败(无法解决依赖关系)

javascript - 当 NodeJS 应用程序设计为在客户端上运行时,如何在它的服务器端使用 javascript 库?