HTTP header CORS 설정

HTTP header CORS 설정

notion image
 

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

 
 

 
참고