>웹 프론트엔드 >JS 튜토리얼 >REST API에 액세스할 때 원본 간 요청 문제를 어떻게 해결할 수 있습니까?

REST API에 액세스할 때 원본 간 요청 문제를 어떻게 해결할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 14:49:14478검색

How Can I Solve Cross-Origin Request Issues When Accessing a REST API?

REST API의 교차 출처 요청 문제

REST API에서 데이터를 가져오려고 시도하는 동안 사용자에게 다음을 나타내는 오류 메시지가 표시되었습니다. 요청한 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다. 이 문제는 일반적으로 CORS(Cross-Origin Resource Sharing)와 관련이 있습니다.

솔루션 전략

1. CORS 프록시

서버 개입 없이 CORS 문제를 우회하려면 CORS 프록시를 활용할 수 있습니다. 요청 URL 앞에 프록시 URL을 추가하면 요청이 프록시를 통해 전달됩니다. 프록시는 필요한 Access-Control-Allow-Origin 헤더를 응답에 추가하여 프런트엔드 코드가 이에 액세스할 수 있도록 합니다.

2. CORS 실행 전 요청 방지

CORS 실행 전 요청의 트리거를 방지하려면 Authorization 및 Content-Type: application/json과 같은 헤더를 사용하지 않도록 요청을 수정하세요.

3 . 'Access-Control-Allow-Origin은 와일드카드가 아니어야 합니다.' 문제

"Access-Control-Allow-Origin 헤더는 와일드카드가 아니어야 합니다."라는 오류 메시지가 표시되면 액세스 권한이 있는지 확인하십시오. -Control-Allow-Origin 헤더의 값이 프런트엔드 코드의 출처와 일치합니다. Origin 요청 헤더의 값을 Access-Control-Allow-Origin 응답 헤더에 반영하도록 서버를 구성하세요.

추가 팁

  • '액세스 제거' -Control-Allow-*' 요청 헤더.
  • curl을 사용하여 브라우저 없이 서버 응답을 테스트합니다.
  • Access-Control-Allow-Origin 헤더를 조작하는 브라우저 플러그인은 부정확한 결과를 제공할 수 있으므로 사용하지 마세요.

위 내용은 REST API에 액세스할 때 원본 간 요청 문제를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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