> 웹 프론트엔드 > JS 튜토리얼 > JSONP는 원본 간 데이터 전송 문제를 어떻게 해결합니까?

JSONP는 원본 간 데이터 전송 문제를 어떻게 해결합니까?

Patricia Arquette
풀어 주다: 2024-12-23 02:39:34
원래의
626명이 탐색했습니다.

How Does JSONP Solve Cross-Origin Data Transfer Issues?

JSONP: 입문서

소개

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를 사용할 수 없는 상황에서 유용합니다.

  • 외부 API에서 데이터 검색
  • 교차 사이트 활성화 위젯 및 삽입 가능한 콘텐츠에 대한 커뮤니케이션

위 내용은 JSONP는 원본 간 데이터 전송 문제를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿