JSONP

CORS가 활성화 되기 이전의 데이터 요청 방법으로, 다른 도메인으로부터 데이터를 가져오기 위해 사용하는 방법

동작 방식

  1. 웹 페이지에 동적으로 <script> 태그를 추가하고, 해당 스크립트의 소스로 원격 서버의 URL을 지정
  2. 원격 서버에서는 해당 URL로 요청을 받아들이고, JSONP 콜백 함수를 포함하여 응답 데이터를 전송
  3. 웹 페이지는 콜백 함수를 정의하고, 서버에서 전달된 응답 데이터를 해당 함수의 매개변수로 처리하여 사용

한계 및 취약점

  1. XSS(Cross-Site Scripting) 공격에 취약하며, 서버와의 통신을 위해 제 3자 코드를 실행
  2. <script> 태그를 이용하기 때문에 오직 GET 요청만 가능

여러 보안상 이슈로 인하여 W3C에서는 2009년 채택된 CORS 방식의 HTTP 통신을 권장