"Origin is Not Allowed by Access-Control-Allow-Origin" 오류 이해
다른 출처에서 리소스에 액세스하려고 할 때( 예를 들어, 도메인, 포트) "원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다" 오류가 발생할 수 있습니다. 이 오류는 보안상의 이유로 교차 출처 요청을 제한하는 브라우저의 동일 출처 정책에서 발생합니다.
특정한 경우 localhost:8080의 요청은 서버 호스팅의 교차 출처 액세스가 허용되지 않습니다. gdata.youtube.com. 코드 조각은 서버에 대한 XMLHttpRequest를 만들려고 시도하지만 서버의 Access-Control-Allow-Origin 헤더가 원본의 요청을 허용하도록 설정되지 않았습니다.
오류 원인:
- 일치하지 않는 출처: 교차 출처 요청은 출처가 동일한 경우에만 허용됩니다(예: http://example.com이 http://example.com에서 요청).
- 포트 차이점: 서로 다른 포트(예: example.com:81에서 요청하는 example.com:80)는 서로 다른 출처로 간주됩니다.
- CORS 헤더가 설정되지 않음: 서버는 Access-Control-Allow를 명시적으로 설정해야 합니다. -교차 출처 요청을 활성화하기 위해 허용된 출처가 있는 출처 헤더.
해결책:
이 오류를 해결하려면 다음 해결 방법을 고려하십시오.
-
서버에서 CORS 구성: 서버는 허용된 출처(예: Access-Control-Allow-Origin: http:// localhost:8080).
-
JSONP 사용: JSONP(JSON with Padding)는 콜백 함수를 사용하여 교차 출처 요청을 처리하는 기술입니다. 서버는 콜백 함수에 캡슐화된 데이터를 반환하여 브라우저가 이를 실행할 수 있도록 합니다.
-
서버측 프록시 사용: 서버측 프록시(예: PHP, ASP)는 다음과 같은 역할을 할 수 있습니다. 브라우저와 원격 서버 사이의 중개자. 프록시는 원격 서버에 요청을 보내고 CORS 헤더를 처리하여 브라우저가 데이터에 액세스할 수 있도록 합니다.
위 내용은 \'원본은 Access-Control-Allow-Origin에 의해 허용되지 않습니다\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!