알고 있으면 너무 좋은 프론트엔드 웹 기술 : Cross Origin Communication API
- 크로스 오리진 커뮤니케이션 API는 서버 도움 없이 프로토콜, 도메인, 포트가 다른 웹페이지 간 데이터 교환을 가능하게 합니다. 🌐
- 이 API는 아이프레임이나 팝업 창으로 표시된 웹페이지 간 통신에 제한적으로 사용되며, 별도의 라이브러리 설치 없이 바로 이용 가능한 웹 표준 API입니다. 🖼️
- 부모 페이지(예: localhost:5173)와 아이프레임 내 자식 페이지(예: localhost:8080)처럼 포트가 다른 경우에도 프론트엔드 기술만으로 데이터 통신이 가능합니다. 🤝
- 메시지 전송은
postMessage 메서드를 사용하며, 첫 번째 인자는 전달할 메시지 객체, 두 번째 인자는 수신 페이지의 정확한 URL을 명시해야 합니다. ✉️
- 메시지 수신 시에는
window.addEventListener('message', ...)를 통해 이벤트를 처리하며, 보안을 위해 메시지를 보낸 페이지의 origin (출처)이 예상과 일치하는지 반드시 확인해야 합니다. 🔒
- 부모에서 자식으로, 자식에서 부모로 양방향 메시지 전달이 모두 가능하며, 메시지 객체는 개발자가 원하는 형태로 자유롭게 정의할 수 있습니다. 🔄
- 이 기술은 추가적인 서버 지원 없이 프론트엔드만으로 이종 출처 간 통신을 가능하게 하여, 특히 다른 회사와의 유연한 협업에 매우 강력한 도구입니다. 💪
데브허브 | DEVHUB | 알고 있으면 너무 좋은 프론트엔드 웹 기술 : Cross Origin Communication API