我正在使用 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/