>웹 프론트엔드 >JS 튜토리얼 >로컬 파일을 로드할 때 'Origin null is not allowed by Access-Control-Allow-Origin'이 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

로컬 파일을 로드할 때 'Origin null is not allowed by Access-Control-Allow-Origin'이 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-10 21:38:15482검색

Why Does

Cross-Origin 요청 차단: "Origin null은 Access-Control-Allow-Origin에서 허용되지 않습니다." 오류 이해

시도할 때 XSL 스타일시트에서 생성된 HTML 출력 로드와 같이 다양한 출처에서 외부 리소스를 로드하기 위해 발생하는 일반적인 오류는 다음과 같습니다. "Access-Control-Allow-Origin에서는 원본 null이 허용되지 않습니다." 이 오류는 악의적인 공격을 방지하기 위해 출처 간 상호 작용을 제한하는 웹 브라우저에 의해 구현된 SOP(동일 출처 정책)에서 발생합니다.

주어진 시나리오에서 리소스 로드를 시작하는 HTML 페이지(HTML 출력 Weather.xsl 파일에서)은 로컬 파일 URL(예: "file:///")을 통해 로드됩니다. 대부분의 브라우저는 SOP를 로컬 파일에 적용하여 문서와 동일한 디렉터리에서도 리소스를 로드하는 것을 허용하지 않습니다. 이는 로컬로 로드된 파일의 원본이 리소스를 제공하는 서버의 Access-Control-Allow-Origin 헤더에 포함되지 않은 "null"로 간주되기 때문입니다.

이 문제를 해결하려면 jQuery를 사용하여 HTML 출력을 div에 로드하는 경우 두 가지 가능한 접근 방식이 있습니다.

  1. 웹 서버 설치: HTML을 로드하는 대신 페이지를 로컬로 전송하는 경우 HTTP URL(예: "http://localhost/weather.html")이 있는 웹 서버를 통해 제공될 수 있습니다. 이를 통해 웹 서버는 Access-Control-Allow-Origin과 같은 필수 헤더를 구성하여 다른 출처에서 리소스를 로드할 수 있습니다.
  2. 브라우저 확장 사용: SOP를 수정하고 로컬 파일에서 원본 간 리소스 로드를 허용할 수 있는 일부 브라우저 확장이 존재합니다. 그러나 이러한 확장 프로그램 사용이 보안에 미치는 영향에 주의하는 것이 중요합니다.

위 내용은 로컬 파일을 로드할 때 'Origin null is not allowed by Access-Control-Allow-Origin'이 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.