본문 바로가기

Frontend

CORS(Cross-Origin-Resource-Sharing) <-> SOP(Same Origin Policy)

일을 하면서도, 예전에 프론트엔드를 나름 찍먹(?)을 해봤을때도 CORS라는 단어를 접했었다. 

오늘 일을 하면서 CORS 접근 권한에 대한 추가 요청이 올때 추가해야 한다는 지시가 있었는데, 이참에 CORS에 대해 팀의 프론트엔드 개발자님께 한번 더 여쭈어보고 좀 더 찾아보았다. 

 

CORS(Cross-Origin-Resource-Sharing) 

= 쉽게 말하면, '방어막' 

우리가 이곳저곳에서 가져오는 리소스가 '안전'하다는 최소한의 보장을 받은게 CORS이다. 

서로 다른 출처간의 리소스 공유가능 

 

ex) 만약 사이트A와 B가 있다.

이 두 사이트간의 서로 신뢰할 수 있는 사이트라면 HTTP 정보 요청과 반환이 가능하다.

 

SOP(Same Orgin Policy) 

= CORS와 반대 

같은 출처에서만 리소스 공유가능 -> 브라우저 단에서 사용자를 보호한다. 

 

ex) A 사이트에 비밀번호와 같은 내 정보를 저장해두었다. 

A사이트와 유사한 악의적인 B사이트는 외관상으로는 차이가 없지만 B에서 A에 남겨진 내 인증정보를 탈취한 상태라면 

내가 B사이트로 로그인을 했을때 큰 피해로 이어질 수 있다. 

-> 위와 같은 이유로 서로 다른 출처간 HTTP 요청을 주고 받는 것을 금지한다. 

 

 

참고 https://devshin93.tistory.com/119