Обслуживание статических файлов в connectjs с 'Access-Control-Allow-Origin', установленным на '*' - PullRequest
2 голосов
/ 07 июня 2011

Я использую Connect.js для обслуживания моих статических файлов в приложении Node.js;тем не менее, я хочу иметь возможность делать GET-запросы к этим статическим файлам из разных источников, поэтому я хотел бы иметь возможность установить 'Access-Control-Allow-Origin' : '*' в заголовке ответа для этих статических файлов.как бы я поступил так с Connect?Вот мой сервер до сих пор:

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

1 Ответ

0 голосов
/ 09 июня 2011

Access-Control-Allow-Origin применяется только к ajax-запросам.Когда вы обслуживаете статические файлы, вам не нужно беспокоиться об этом конкретном заголовке.Любой может запросить эти файлы, независимо от происхождения, в конфигурации по умолчанию.

Вы сталкиваетесь с проблемами, когда обслуживаете обычную страницу, а затем вы хотите запросить через javascript ОТ этой страницы.Затем вам нужно настроить политику Access-Control-Allow-Origin, чтобы разрешить ajax-запросы к другим доменам с этой конкретной страницы.

Кроме того, вы чаще всего сталкиваетесь с этим при попытке получить доступ к веб-службе.В таких случаях очень часто используют JSONP вместо того, чтобы использовать этот конкретный заголовок.Особенно нет *, поскольку это создает угрозу безопасности.См. 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

Джош

...