교차 출처 (Cross-Origin)
- 프로토콜, 호스트, 포트가 하나라도 일치하지 않음
동일 출처 (Same-Origin)
- 프로토콜, 호스트, 포트가 모두 동일함
Prelight
)과 본요청으로 나누어 서버로 전송Access-Control-Allow-Origin
과 같은 값을 보내면 브라우저가 CORS정책위반 검사GET
, POST
, HEAD
중 하나여야 함Accept
, Accpet-Language
, Content-Language
, Content-Type
, DPR
, Downlink
, Save-Data
, Viewport-width
, Width
를 제외한 헤더 사용 금지Content-Type
사용할 경우 application/x-www-form-urlendcoded
, multipart/form-data
, text/plain
만 허용인증된 요청을 사용하는 방식
CORS 기본적인 방식 보다 다른 출처간의 통신에서 보안을 강화하고 싶을 때 사용
기본적으로 브라우저가 제공하는 요청 API들은 별도의 옵션 없이 브라우저의 쿠키와 같은 인증과 관련된 데이터를 함부로 요청 데이터에 담지 않도록 되어 있음
credentials
옵션으로 요청에 인증과 관련된 정보를 담을 수 있도록 함
credentials
의 3가지 옵션
1. same-origin(default) - 같은 출저 간 요청에만 인증 정보 담을 수 있음
Access-Control-Allow-Origin
헤더에 알맞은 값 세팅