서로다른 도메인간의 호출
본인이 개발한 웹사이트에서 사용하기 위한 API 서버를 구축하였는데 다른 웹서비스에서 이 API 서버를 사용하게 된다면 문제가 생기게 된다.
그래서 JavaScript는 Same Origin Policy(동일 출처 정책)라는 정책을 통해 다른 도메인의 서버에 요청하는 것을 차단시킨다.
따라서 동일한 도메인 내에서만 서버 요청을 허락하게 된다.
프로젝트를 진행하다 보면 각각의 프로젝트에 따라 혹은 효율성이나 성능을 위해 여러 서버를 두는 경우가 있다.
경험했던 프로젝트의 경우 한 고객사에서 파트별로 여러 협력업체를 두어 하나의 엔진 위에 여러 엔진을 동시에 올려 각 프로젝트마다 다른 서버를 갖게 두었는데 물리적으로 분리된 서버이기 때문에 서로 간의 API를 호출할 수가 없다.
하지만 각 파트별로 다른 프로젝트를 진행하지만 결국 큰 틀은 하나의 프로젝트이기 때문에 공통 업무적인 부분이 생기고
업무의 효율성과 코드 성능을 위해 교집합이 생기는 부분을 합쳐야 할 필요가 있었다.
이럴 경우 어쩔 수 없이 Same Origin Policy(동일 출처 정책) 을 뚫고 CROS DOMAIN 문제를 해결해야 했다.🤔
처음 당황했던 것이 도메인을 바꾸니 도메인 위에 함께 띄어지는 부가 서비스들이 🔥500 ERROR🔥 혹은 🔥404 ERROR🔥 가 여기저기 발생하여 결국 원점으로 돌아갔던 기억이 있다.
무한 구글구글구글구글구글구글링을 통해,,⏱
document.domain
ex) document.domain = "naver.com";
방법을 활용했다.
앞서 말했듯이 업체마다 각각의 서버를 두고 있지만 하나의 서버 위에 모두 올라가 있기 때문에
A) https://mail.naver.com
B) https://blog.naver.com
[A],[B] 사이트와 같이 공통 도메인은 같고 서브 도메인만 다른 형식으로 이루어져 있어 다음과 같은 방법을 이용했다👍