[jQuery] JSONP와 데이터 교환 형식
이번 글에서는 JSONP(JSON with Padding)와 데이터 교환 형식에 대해 알아보겠습니다.
JSONP란 무엇인가?
JSONP는 JSON 데이터를 안전하게 교환하기 위한 방법 중 하나입니다. 일반적으로 브라우저에서 보안 정책으로 인해 다른 도메인에서 데이터를 가져오는 것이 제한되지만, JSONP는 이 제한을 우회하는 방법으로 사용됩니다.
JSONP의 동작 방식
- 클라이언트가 서버에 요청을 보냅니다.
- 서버는 요청된 데이터를 JSONP 형식으로 래핑한 후, callback 함수와 함께 응답합니다.
- 클라이언트는 응답된 스크립트를 실행하면서 callback 함수를 호출하여 데이터를 처리합니다.
이러한 방식으로, JSONP는 다른 도메인에서 데이터를 안전하게 가져와서 처리할 수 있도록 합니다.
JSONP 예제 코드
function handleData(data) {
// 데이터 처리 로직
}
var script = document.createElement('script');
script.src = 'http://example.com/data?callback=handleData';
document.body.appendChild(script);
위의 예제는 “http://example.com/data”에서 데이터를 가져와서 handleData
함수를 통해 처리하는 JSONP 요청 예제입니다.
마치며
JSONP는 브라우저에서 다른 도메인에서 데이터를 안전하게 가져오는 방법으로 유용하게 활용되고 있습니다. 하지만 보안상의 이슈로 인해 최근에는 CORS(Cross-Origin Resource Sharing)와 같은 더 안전한 방법들이 더 많이 사용되고 있습니다.