소개
JSONP 또는 JSON with Padding은 데이터 교환을 용이하게 하는 JSON 확장입니다. 서로 다른 출처를 가진 웹사이트들 사이에서. 브라우저의 CORS(Cross-Origin Resource Sharing) 제한을 우회하기 위해 만들어졌습니다.
개념
웹 사이트가 출처가 다른 다른 웹 사이트의 리소스에 액세스하려고 할 때 , 브라우저는 보안 취약점을 방지하기 위해 CORS 제한을 적용합니다. JSONP는 CORS 제한이 적용되지 않는 스크립트 태그를 사용하여 이 메커니즘의 허점을 이용합니다.
JSONP 작동 방식
JSONP를 사용하려면 클라이언트 웹사이트에 다음이 포함됩니다. 콜백 함수를 지정하고 다음과 같이 서버 웹사이트에 요청을 보내는 스크립트:
http://www.example.net/sample.aspx?callback=mycallback
서버 웹사이트는 다음으로 응답합니다. 다음과 같이 지정된 콜백 함수에 래핑된 JSON 데이터:
mycallback({ foo: 'bar' });
클라이언트 웹사이트는 스크립트가 로드될 때 실행되는 콜백 함수를 정의합니다.
mycallback = function(data){ alert(data.foo); };
해결 교차 출처 문제
JSONP는 스크립트 태그를 사용하여 CORS를 우회함으로써 교차 출처 데이터 전송을 허용합니다. 제한. 이를 통해 웹사이트는 서로 다른 도메인에 호스팅되어 있음에도 불구하고 서로 통신할 수 있습니다.
사용 사례
JSONP는 다음과 같이 CORS를 사용할 수 없는 상황에서 유용합니다.
위 내용은 JSONP는 원본 간 데이터 전송 문제를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!