在“Access-Control-Allow-Origin”设置为“*”的情况下在connectjs中提供静态文件

我正在使用Connect.js来为Node.js应用程序中的静态文件提供服务; 不过,我希望能够从多个来源对这些静态文件发出GET请求,所以我希望能够在这些静态文件的响应头中设置'Access-Control-Allow-Origin' : '*'

我的问题是,我将如何去与Connect做这个? 这是我的服务器到目前为止:

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

一般来说,Access-Control-Allow-Origin只适用于ajax请求。 当你提供静态文件时,你不需要担心这个特定的头文件。 任何人都可以在默认configuration中请求这些文件,而不pipe其来源。

当您提供常规页面时遇到问题,然后您想通过JavaScript从该页面请求。 然后你需要设置你的Access-Control-Allow-Origin策略来允许从这个特定的页面到其他域的Ajax请求。

此外,您尝试访问Web服务时经常遇到这种情况。 在这种情况下使用JSONP非常常见,而不是使用特定的头文件。 特别是不会因为它引入了安全风险。 见http://www.ibm.com/developerworks/library/wa-aj-jsonp1/和http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-起源资源共享/

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

玩笑