한국말로 해석하면 교차 출처 리소스 공유라고 해석된다.
브라우저에서는 보안의 이유로 cross origin http요청들을 제한하는데 cross origin요청을 하려면 서버의 동의가 필요하다.
만약 서버가 동의할시 브라우저에서는 요청을 허락하고 동의하지 않는다면 브라우저에서 거절한다
이렇게 허락을 구하고 거절하는 메커니즘을 http-header를 이용하는데 이를 CORS라고 한다.
요약: 다른 출처(Origin) 간에 자원을 공유하는 것을 설정하기 위한 옵션
위에서 말했듯이 브라우저는 보안상의 이유로 교차출처 http요청을 제한한다. 이렇게 되면 외부 API와 연동할때 어플리케이션과 외부 API의 origin이 다르기때문에 자원 공유가 불가능한 상황이 생길 수 있다.
CORS는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원하기 때문에 보안 문제를 예방하고 허용하는 Origin만 요청할 수 있습니다.
nodeJS에서는 cors미들웨어 패키지를 설치 후 reqiure해온뒤app.use에 cors를 넣어 모든요청을 허용해줄수도 있고, app.use 안에 넣은 cors에 객체형태로 origin에 url을 할당한 변수를 넣어 특정 url만 허용해줄수도 있다.