Как такая же политика происхождения применяется к IP-адресам - PullRequest
5 голосов
/ 22 апреля 2010

В корпоративной сети нашей компании есть сервер, на котором работает JBoss. Я хочу отправлять вызовы API на этот сервер со своего компьютера, в том числе в интрасети, и получать полученные XML-ответы с помощью JQuery.

Я прочитал запись в Википедии , но не совсем понимаю, как это применимо к моей ситуации, поскольку наши машины имеют только IP-адреса, а не доменные имена.

У меня есть

  • URL сервера : 10.2.200.3:8001/serviceroot/service
  • IP-адрес клиента : 10.2.201.217

Мои вопросы:

  1. Насколько я понимаю, это разные домены, верно? Поэтому я должен использовать прокси-сервер для отправки вызовов JQuery.ajax на сервер
  2. Если я хочу отказаться от выполнения (2), могу ли я установить Apache на сервер и разместить там страницу с JS-кодом? Но тогда JS будет с 10.2.200.3, а сервер - с 10.2.200.3:8001. Разве это не считается разными доменами в соответствии с политикой?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

Если порт или адрес разные, это разные домены.Если вам нужен доступ к информации с другого сервера, у вас действительно есть два варианта.Одним из них является написание своего рода обратного прокси-сервера для передачи ваших запросов с того же исходного сервера на вторичный сервер.

В качестве альтернативы, если вы контролируете вторичную цель, и при обеспечении прямого доступа нет угрозы безопасностиВы можете настроить вторичный сервер так, чтобы он отправлял ответы в формате JSON-P.

2 голосов
/ 22 апреля 2010
  1. Да.

  2. Да, разные порты означают разные источники.Это то, что большинство браузеров некоторое время делали в JS, но это явно описано в черновике HTML5 , на который ссылается черновик XMLHttpRequest .

Если A и B имеют компоненты порта, которые не идентичны, вернуть false.

...