Node.js

cors를 설정해야 하는 이유 (sop의 존재이유)

pangyoelon 2023. 3. 22. 16:35

cors(cross-origin-resource-sharing)를 설정하라는 오류는 sop(same-origin-policy)에 의해 다른 오리진으로 보내는 요청을 '브라우저'가 막아서 생기는 오류이다

 

개발을 하다가 cors오류를 맞닥드린 입장에서 브라우저가 요청을 막는다는 사실을 알았을 때, 브라우저가 뭔데 감히 내 요청을 막아서 귀찮게 하는 것인지에 대한 이유는 아래와 같다

 

1. 대부분의 상황에서 브라우저는 사용자 본인이 작성한 것이 아닌 html,css,js 파싱한다는 것

2. 브라우저에는 인증정보(쿠키, 토큰)가 저장되어 있다는 것

 

특히 1번은 개발을 하고있는 입장에서 간과할 수 있는 점 같다

 

즉, 헤커의 사이트에 접속해서 해커가 짠 코드로 인해 해커가 사용자의 브라우저에 저장된 토큰을 가지고 사용자인 척 하며 악의적인 요청을 보내는 상황을 방지하기 위함이다

 

그렇기에 서버 측에서 믿을 수 있는 origin들의 목록을 정해두는 것이 cors설정이다