CORS

CORS는 Cross-Origin Resource Sharing의 약자로 "교차 출처 리소스 공유 정책"입니다. 한 origin에서 다른 origin의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다.

여기서 교차 출처라고 하는 것은 다른 출처를 의미합니다.

Origin (출처)

URL은 마치 하나의 문자열 같아 보여도, 사실은 여러개의 구성 요소로 이루어져있습니다.

스크린샷 2023-04-19 오전 9.45.09.png

여기서 Origin은 ProtocolHost 그리고 Port를 합친 것을 의미합니다.

만약 Origin에 대해 감이 잡히지 않았다면 코드로 확인할 수 있습니다.

스크린샷 2023-04-19 오전 9.50.24.png

동일 출처 정책 (Same-Origin Policy)

먼저 SOP(Same Origin Policy) 정책은 동일한 출처에 대한 정책을 말합니다. SOP 정책은 '동일한 출처에서만 리소스를 공유할 수 있다.'라는 규칙을 가지고 있습니다. 즉, 동일 출처(Same-Origin) 서버에 있는 리소스는 자유로이 가져올수 있지만, 다른 출처(Cross-Origin) 서버에 있는 이미지나 유튜브 영상 같은 리소스는 상호작용이 불가능하다는 말입니다.

동일 출처가 아닌 경우 접근을 차단하는 이유는 무엇일까요? 당연히 보안이 이유겠죠. 악의적인 외부 리소스를 막기 위해 브라우저에서 사전에 방지하는 것입니다.

동일 출처 Same Origin, 교차 출처 Cross Origin