
HTTP header
Access-Control-Allow-Origin
서버에서 특정 Origin으로부터의 요청을 허용할지에 대해서 나타냅니다.
Origin을 *로 모든 요청으로 허용시킬 경우 보안상 문제가 될 수 있습니다.
*same origin이란? protocol과 Host, Port 3가지가 동일한 Origin
Access-Control-Allow-Methods
응답으로 허용할 HTTP Method를 지정합니다.
Access-Control-Allow-Credentials
credentials 옵션은 브라우저가 요청(req)에 인증에 관련된 정보(쿠키)를 담을 수 있게 해주는 옵션
fetch API에서의 credentials 옵션 | ㅤ |
same-origin (기본값) | 같은 출처 간 요청에만 인증 정보를 담을 수 있다 |
include | 모든 요청에 인증 정보를 담을 수 있다 |
omit | 모든 요청에 인증 정보를 담지 않는다 |
서버에서도 응답 header에 Access-Control-Allow-Credentials 설정을 해야합니다.
false로 설정하거나 생략시에는 Credential 요청을 처리할 수 없습니다.
또한 Credentials 옵션을 same-origin 또는 include로 요청(request)할시에는
Allow-Origin에는 *를 사용할 수 없고 Origin을 명시해야합니다.
예시코드
Client
Server
참고