- 문제상황: Cross Domain
- Cross Domain문제란?
- ajax호출을 통해 다른 도메인에 있는 자원에 접근할 때
다른 도메인에 존재하는 데이터를 가져오는 경우, 자바스크립트가 있는 서버가 아닌 다른 서버와 통신하면 보안이슈에 의해서 통신할 수 없음. ( mash up application개발시에 주로 발생) - 해결방법
- Server Proxy
- 웹 브라우저에서 보여지고 있는 문서와 동일한 origin에 proxy를 두고, 다른 origin의 데이터를 가져옴.
- Cross Document Messaging
- 페이지간 커뮤니케이션 지원하는 API
- JSONP
- html에 script src를 추가하여, 필요한 자원을 로드하듯이, 필요한 페이지 주소를 cript사이에 넣음
- 예)
<script> function test(data) {
console.log(data); //log로 데이터 출력됨
}
</script>
<script src="http://google.co.kr/example/api/getSearchPages/news.json?callback=test"></script> - 한계점: HTTP METHOD:GET만 가능
- CORS
- cors.js를 이용하여 요청
- response.setHeader("Access-Control-Allow-Origin","*");
- 참고
- https://www.w3.org/TR/cors/
- https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
2016년 5월 25일 수요일
Cross Domain 문제 해결법 (jsonp, cors )
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기