자바스크립트를 이용한 크로스 도메인

처음에 책에 매쉬업 예제를 넣기 위해서 아이디어 외적인 많은 고민을 해야 했다.

왜냐하면 소스 코드가 많지않고 별도의 서버 세팅이 필요없는 심플한 매쉬업 예제를 만들기를 원했기 때문이다.

그래야지 매쉬업의 쉽고 강력함을 보여줄 수 있다고 생각했었다.

하지만 AJAX는 알다시피 일반적인 자바스크립트 레벨의 크로스 도메인이 불가능하다.

그래서 서버 설정이 필요없는 클라이언트 쪽의 크로스 도메인 기술을 살펴보다가 다음과 같은 블로그를 발견했다.

http://blog.monstuff.com/archives/000294.html

이 글에 의하면 FlashXMLHttpRequest 라는 플래시 인터페이스를 통해 원격지의 OPEN API를 호출할 수 있다.

물론 나도 책에 예제로 넣을 용도로 FlashXMLHttpRequest을 이용해 매쉬업 샘플을 만들어 보았고, 잘 수행되는 모습도 보았다.

하지만 아무리 간단한 소스를 만든다 하더라도 플래시와 같은 별도의 클라이언트 엔진을 사용하는 것은 예제의 목적이 전도되는 듯한 느낌을 준다는 판단하에, 결국 JSON을 이용한 Dynamic Script Tag을 이용해 최종 예제를 완성하게 되었다.

Dynamic Script Tag은 <script></script> 태그를 자바스크립트로 동적으로 생성하고 <script src=..> 속성에 OPEN API 주소를 설정하여 JSON으로 결과값을 받는 또 다른 크로스 도메인 Hack이다.

만약 JSON으로 결과값을 제공하지 않는 OPEN API가 있다면, 별도의 서버 설정없이 FlashXMLHttpRequest를 이용해 OPEN API를 호출할 수 있다.

단! 주의할 점. 플래시를 통하기 때문에 OPEN API가 있는 서버 도메인에 반드시 crossdomain.xml이 있어야한다는 것.

by 마음속폭풍 | 2007/04/10 00:04 | 매쉬업 | 트랙백(1) | 덧글(0)

트랙백 주소 : http://jkwave.egloos.com/tb/130680
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from Colomarine b.. at 2007/06/10 13:27

제목 : Colomarine 64 post
all about Colomarine and top news...more

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶