>웹 프론트엔드 >JS 튜토리얼 >내 CORS 정책이 후행 슬래시가 있는 \'https://example.com/\'의 요청을 차단하는 이유는 무엇입니까?

내 CORS 정책이 후행 슬래시가 있는 \'https://example.com/\'의 요청을 차단하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 15:46:03399검색

Why Does My CORS Policy Block Requests from 'https://example.com/' with a Trailing Slash?

원본 'https://example.com/'의 액세스가 CORS 정책에 의해 차단되었습니다. 실행 전 요청에 대한 응답이 액세스 제어 확인을 통과하지 못했습니다. HTTP가 없어도 괜찮습니다. status.

TL;DR


웹 원본에는 경로가 포함되지 않습니다. 따라서 https://googledocs-clone-sbayrak.netlify.app/은 유효한 웹 출처가 아닙니다. 후행 슬래시를 삭제하세요.

CORS의 웹 원본에 대한 자세한 내용


원본 헤더 값에 후행 슬래시가 허용되지 않습니다


CORS 프로토콜(Fetch 표준에 지정됨)에 따라 브라우저는 Origin 요청 헤더를 설정하지 않습니다. 뒤에 슬래시가 있는 값으로 변경됩니다. 따라서 https://googledocs-clone-sbayrak.netlify.app/whatever 페이지에서 교차 출처 요청을 발행하는 경우 해당 요청의 Origin 헤더에는

https://googledocs-clone-sbayrak.netlify.app

후행 슬래시 없이

가 포함됩니다. >

서버의 바이트별 비교 측면


Node.js cors 패키지에 의존하는 Socket.IO를 사용하고 있습니다. 요청의 원본이 CORS 구성의 원본 값(https://googledocs-clone-sbayrak.netlify.app/)과 정확히 일치하지 않는 경우 해당 패키지는 응답에 Access-Control-Allow-Origin을 설정하지 않습니다.

모든 것을 다 담다 함께


분명히
'https://googledocs-clone-sbayrak.netlify.app' ===
'https://googledocs-clone-sbayrak.netlify.app/'

는 false로 평가되어 cors 패키지가 응답에 Access-Control-Allow-Origin 헤더를 설정하지 않게 하여 CORS 검사를 수행하게 합니다. 브라우저에서 오류가 발생하여 CORS 오류가 발생했습니다.

Fetch의 예 Standard


Fetch Standard의 섹션 3.2.5에서는 이러한 실수에 대한 계몽적인 예를 제공합니다.

Access-Control-Allow-Origin: https://rabbit.invalid/

CORS 검사가 실패하는 이유를 설명합니다.


직렬화된 원본에는 후행이 없습니다. 슬래시.


위 내용은 내 CORS 정책이 후행 슬래시가 있는 \'https://example.com/\'의 요청을 차단하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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