[jQuery] JSONP의 규약과 명세

JSONP(JavaScript Object Notation with Padding)는 서로 다른 도메인 간에 데이터를 전송할 수 있는 방법 중 하나입니다. 보통 웹 애플리케이션에서는 Same-origin Policy로 인해 다른 도메인의 자원에 접근하는 것이 제한됩니다. 이런 제한을 우회하기 위해 나온 것이 JSONP입니다.

JSONP 요청과 응답

JSONP 요청은 일반적으로 <script> 태그를 이용해 수행됩니다. 요청에 포함된 콜백 함수(callback function) 이름은 서버에 있는 JSONP 서비스에 의해 사용됩니다. 이 서비스는 콜백 함수를 호출할 때 응답 데이터를 파라미터로 전달합니다.

예시:

function callbackFunction(data) {
  // 데이터 처리
}

var script = document.createElement('script');
script.src = 'https://example.com/api/data?callback=callbackFunction';
document.body.appendChild(script);

JSONP의 규약과 명세

JSONP에는 공식적인 규약이나 명세가 없습니다. 따라서 JSONP 요청을 서버에서 처리하려면 몇 가지 규칙을 따라야 합니다. 일반적으로 서버 측에서 요청된 콜백 함수와 응답 데이터를 JSONP 형식으로 래핑하여 전송합니다.

결론

JSONP는 크로스도메인 데이터 전송의 한 방법으로, 서로 다른 도메인 간에 데이터를 안전하게 교환하기 위해 사용됩니다. 그러나 보안상 취약점이 있으므로 신중한 사용이 필요합니다. JSONP의 경우에도 CORS나 다른 보안 메커니즘을 검토하고 적용하는 것이 중요합니다.

참고 자료:

JSONP를 사용할 때, 주의할 점