programing

XMLHttpRequest를 다른 도메인으로 만들 수 있습니까?

jooyons 2023. 9. 17. 13:05
반응형

XMLHttpRequest를 다른 도메인으로 만들 수 있습니까?

XMLHttpRequest를 다른 도메인과 함께 사용할 수 있는 방법이 있습니까?

서버를 사용하지 않고 구글에서 xml을 파싱하고 싶어서 실행하기가 최소한으로 복잡합니다.

var req = getXmlHttpRequestObject();
...
req.open('GET', 'http://www.google.de/ig/api?weather=Braunschweig', true);
        req.setRequestHeader("Content-Type","text/xml");
        req.onreadystatechange = setMessage;
        req.send(null);

서버 쪽에서 실행하는 것은 선택의 여지가 없습니다. 그러면 묻지 않아도 됩니다.

아니요, 지금은 아닙니다.저는 미래를 위한 표준 그룹별로 계획/설계가 진행 중이므로 안전하게 진행할 수 있다고 읽었습니다.

그렇지 않으면 사이트 간 스크립팅 취약성이 만연하게 됩니다.

JSONP는 다른 사이트 API가 지원한다면 가능한 솔루션입니다.

HTML5는 이제 XmlHttpRequest 레벨 2에서 Cross Origin 요청을 지원합니다.

http://www.html5rocks.com/en/tutorials/cors/

보안 문제입니다. 대부분의 브라우저는 이를 허용하지 않습니다.숨겨진 I 프레임을 사용하여 가져오기를 수행할 수 있지만 서버를 사용할 정도로 복잡합니다(브라우저에서 실행할 필요가 없는 경우 다른 언어로 전환).

클라이언트 측의 보안 문제(예: example1.com 에서 XMLHtpRequest 또는 jQuery(XMLHtpRequest의 래퍼)를 통해 example2.com 로 도메인 간 요청을 수행할 수 없습니다.이는 HTML5를 지원하는 최신 브라우저에서 CORS(cross origin resource sharing)를 통해 효과적으로 구현할 수 있으며, 이는 모든 클라이언트 브라우저에서 사용할 수 없습니다.따라서 해결책은 example1.com 의 example2.com 에 스크립트 태그를 삽입하는 것이며, 이 해결책은 JSON-P(패딩이 있는 JSON)로 알려져 있으며, 데이터가 서버(example2.com )에서 제공되는 모든 형식으로 제공될 수 있기 때문에 이름이 오해의 소지가 있습니다.구현 코드는 이 링크 http://newtechinfo.net/jsonp-for-cross-domain-ajax/ 에 나와 있습니다.

요즘 브라우저가 XSS 공격을 제한하는 SOP(Same Origin Policy) 때문에 불가능합니다.
서버측 스크립트(PHP 등)를 사용해야 합니다.

HTML5로 XHR을 다른 도메인으로 만드는 것이 가능합니다.또한 다른 웹사이트와 HTTP로 통신할 때 XHR로 다른 프로토콜 요청을 할 수 있습니다.

서버 쪽에서 무언가를 시도할 수 있습니다.따라서 애플리케이션에서 원격 사이트에 요청을 하면 결과를 받아 고객에게 반환할 수 있습니다.그러면 AJAX 호출은 자신의 서버만 호출하고 작동합니다.

언급URL : https://stackoverflow.com/questions/324697/can-i-make-an-xmlhttprequest-to-another-domain

반응형