>  기사  >  웹 프론트엔드  >  CORS는 교차 도메인 시나리오에서 언제 실행 전 요청을 사용합니까?

CORS는 교차 도메인 시나리오에서 언제 실행 전 요청을 사용합니까?

DDD
DDD원래의
2024-10-18 21:48:30476검색

When Does CORS Use a Preflight Request in Cross-Domain Scenarios?

CORS: 교차 도메인 요청에 대한 '실행 전' 요청 이해

교차 원본 리소스 공유(CORS)는 HTTP를 만들 때 문제를 야기합니다. 도메인 간 요청. 이러한 제한 사항을 해결하기 위해 실행 전 요청이 해결 방법으로 도입되었습니다.

실행 전 요청 설명

실행 전 요청은 실제 요청(예: GET 또는 POST)보다 앞에 오는 OPTIONS 요청입니다. ) 요청의 권한과 관련하여 서버와 협상하는 역할을 합니다. 이러한 요청에는 두 개의 추가 헤더가 포함됩니다.

  • Access-Control-Request-Method: 실제 요청의 방법을 지정합니다.
  • Access-Control -Request-Headers: 실제 요청에 포함될 헤더를 나열합니다.

서버 응답 구성

실행 전 요청을 처리하려면, 서버는 다음 헤더로 응답해야 합니다.

  • Access-Control-Allow-Origin: 요청에 지정된 원본에 권한을 부여합니다.
  • Access-Control-Allow-Methods: 실제 요청에 허용되는 방법을 지정합니다.
  • Access-Control-Allow-Headers: 브라우저에 허용되는 헤더를 나열합니다. 실제 요청을 보내세요.

클라이언트측 실행 전 구현

실행 전 요청이 성공하려면 클라이언트가 다음 수정 사항을 포함해야 합니다.

  • OPTIONS 요청 보내기: 실제 요청 전에 적절한 Access-Control-Request-* 헤더와 함께 OPTIONS 요청을 보냅니다.
  • 필요한 내용을 포함합니다. 헤더: 실제 요청에 Access-Control-Allow-Headers 응답 헤더에 지정된 모든 헤더가 포함되어 있는지 확인하세요.

예:

원격 URL에서 데이터를 가져오기 위한 POST 요청에 대한 실행 전 요청을 고려해 보세요.

실행 전 요청:

  • 원본: https://yourdomain.com
  • 액세스 제어 요청 방법: POST
  • 액세스 제어 요청 헤더: X-Custom-Header

서버 응답(POST 가정 및 X-Custom-Header가 허용됩니다):

  • Access-Control-Allow-Origin: https://yourdomain.com
  • Access-Control-Allow-Methods : POST
  • 액세스 제어 허용 헤더: X-Custom-Header

실제 요청:

  • 원본: https://yourdomain.com
  • 방법: POST
  • X-Custom-Header: value

이 단계를 수행하면 HTTP 요청을 효과적으로 사전에 전달할 수 있습니다. CORS를 사용하여 도메인 간 제한을 극복하세요.

위 내용은 CORS는 교차 도메인 시나리오에서 언제 실행 전 요청을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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