-
[브라우저] CORS브라우저 2024. 2. 20. 21:01
CORS란?
- Cross-Origin Resource Sharing(교차 출처 리소스 공유)의 줄임말
- 웹 브라우저에서 실행 중인 Javascript코드가 동일한 출처를 가지지 않는 다른 도메인의 리소스를 공유할 수 있도록 허용하는 매커니즘
SOP(Same-Origin Policy)
- 웹 브라우저 보안을 위해 등장한 메커니즘으로, 출처가 동일한 도메인끼리만 리소스 공유가 가능하도록 제한하는 정책
- 다른 출처로 리소스 요청을 했다는 것 자체가 이미 SOP를 위반하는 행위이고, CORS는 예외조항을 두어 다른 출처에서도 리소스를 요청할 수 있도록 하는 것
📌SOP 정책이 존재하는 이유
클라이언트(웹 브라우저)는 개발자도구만 열어보아도 어떤 서버에 파일을 요청하는지, script 태그를 통해 코드가 어떻게 짜여있는지 볼 수 있는 만큼 보안에 취약하다.
이러한 상황에서 세션을 탈취하여 서버에 악의적인 요청(데이터 삭제, 수정)을 보내는 CSRF나, 클라이언트에 스크립트를 실행할 수 있는 코드를 삽입하는 XSS같은 방법을 이용하여 공격을 받을 수 있다.
📌SOP가 적용되는 리소스
주로 Ajax, Fetch API와 같은 Javascript를 이용한 비동기 데이터 요청에 SOP가 적용된다.
📌SOP가 적용되지 않는 리소스
<img>, <style>, <script> 태그를 이용하여 다른 도메인의 이미지, CSS파일, js파일을 요청하는 것은 SOP가 적용되지 않는다.
'브라우저' 카테고리의 다른 글
[브라우저] 브라우저의 렌더링 과정 (0) 2024.01.26