> 웹 프론트엔드 > JS 튜토리얼 > Fetch를 사용할 때 'No Access-Control-Allow-Origin' 오류를 우회하려면 어떻게 해야 합니까?

Fetch를 사용할 때 'No Access-Control-Allow-Origin' 오류를 우회하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-14 10:17:10
원래의
135명이 탐색했습니다.

How Can I Bypass

가져오기 요청에서 CORS 작업

가져오기를 사용하여 교차 출처 리소스에 액세스하는 동안 "액세스 제어 없음- 출처 허용' 오류. 이렇게 하면 원본 간 제한으로 인해 클라이언트 측 JavaScript가 응답에 액세스하는 것을 방지할 수 있습니다.

예상과 달리 { mode: 'no-cors' }를 Fetch에 전달

, { mode: 'no-cors' }로는 문제가 완화되지 않습니다. 대신 응답 본문 및 헤더 내용에 대한 JavaScript 액세스를 엄격히 차단합니다.

해결책: CORS 프록시

이를 극복하기 위해 CORS 프록시를 사용할 수 있습니다. 프록시는 클라이언트와 대상 웹사이트 사이에 위치합니다. 요청을 받아 대상 사이트로 전달하고 응답을 받습니다. 결정적으로 프록시는 클라이언트 코드가 응답에 액세스할 수 있도록 허용하는 'Access-Control-Allow-Origin' 응답 헤더를 추가합니다.

Postman이 엔드포인트에 액세스할 수 있는 이유

Postman은 'Access-Control-Allow-Origin' 헤더 없이 엔드포인트에 대한 액세스를 허용하는 반면, 웹 브라우저는 교차 출처 제한을 적용합니다. 이 헤더는 클라이언트 측 JavaScript가 응답과 상호 작용하는 데 필수입니다.

CORS 비활성화에 대한 오해

"CORS 비활성화"를 목표로 할 때 실제로 의도하는 것은 다음과 같습니다. 동일 출처 정책을 비활성화합니다. 실제로 CORS는 특정 교차 출처 액세스를 허용하여 이 정책을 완화하는 방법을 제공합니다.

사용 시기 { mode: 'no-cors' }

{ mode: 'no-cors' }는 특정 시나리오에서만 고려해야 합니다.

  • HTML에 콘텐츠 삽입 요소는 JavaScript를 사용하지만 해당 속성을 통해 직접적으로는 그렇지 않습니다.
  • 서비스 워커 및 캐시 스토리지 API를 사용하여 리소스 캐싱

그러나 이러한 경우에도 제한 사항이 있으며 중요합니다. 고려해야 할 요소.

위 내용은 Fetch를 사용할 때 'No Access-Control-Allow-Origin' 오류를 우회하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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