cors는 외부 api를 적용할 때 만나는 경우가 있는데,
다른 스터디원들의 이야기로만 접하거나 api를 가져올 때 공식 문서에 cors에 대한 설명만 접해서 제대로 정확한 개념을 모르고 있어 정리한다.
CORS는 Cross Origin Resource Sharing으로,
교차 출처 자원 공유로써 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다.
여기서 출처란 프로토콜, 호스트, 포트번호 3가지를 포함한 것이다.
브라우저의 기본적인 보안정책은 sop(same origin policy)로 동일한 출처 외에는 자원 공유가 불가능하다.
하지만 기술이 발달하며 다른 출처에서도 자원을 공유할 일이 많아졌기에 예외상황에서 다른 origin으로 보낼 수 있게 하였다.
cors는 클라이언트와 브라우저 통신간에 이루어지는 것이 아닌,
서버는 평소처럼 요청이 오면 응답을 하고 응답이 도착하면, 브라우저가 cors 정책에 위반하면 해당 응답을 버리는 것이다.