[용어정리]CORS란 뭘까?

DevelSopher·2021년 6월 18일
0

CORS(Cross-Origin Resource Sharing) - 교차출처 소스 공유

흔히, 웹 개발을 하면서 CORS 정책 위반관련 이슈로 우리는 CORS를 접하게 된다.

Cross를 교차라는 단어 대신 다른이라는 단어로 해석하면 이해가 쉽다.

다른 출처 리소스 공유

📌 여기서 출처란?

Url의 구성요소로 파악할 수 있는데

protocol , host, port의 일치 여부로 출처가 같음과 다름을 판단한다.

여기서, port는 url주소에서 생략되는데 이는 각 웹에서 사용하는 HTTP, HTTPS 프로토콜의 기본 포트 번호가 정해져있기 때문이다.

SOP(Same-Origin Poicy)

"같은 출처에서만 리소스를 공유할 수 있다"
보안상의 문제가 가장 크다
하지만, 실제 웹 생태계에서 다른 출처의 리소스를 가져오는 일은 매우 흔한 일이다.

SOP의 예외 조항 CORS 정책

그래서 CORS 정책으로 출처가 다르더라도 리소스를 가져올 수 있다는 예외조항을 설정하게 된 배경이다.

하지만, 우리는 CORS의 정책 위반으로 이슈를 맞이하게 되는 것이다.

SOP , CORS정책은 누가 판단하는가?

서버가 아닌 브라우저가 판단한다.

CORS는 브라우저의 구현 스펙에 포함되는 정책이기 때문에, 브라우저를 통하지 않고 서버 간 통신을 할 때는 이 정책이 적용되지 않는다.

즉, CORS 정책을 위반하는 리소스 요청을 해도 서버쪽 로그엔 200 정상적으로 응답성공했다고 나오기에 CORS 잘 파악하지 못하면 이슈를 잘 파악하기 어렵다.

profile
💎다듬고 연마하자👑

0개의 댓글