Search

CORS

대분류
CS
소분류
World Wide Web
설명
교차 출처 리소스 공유
유형
웹 보안
주요 레퍼런스
https://velog.io/@effirin/CORS%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
최종 편집 일시
2024/10/27 15:29
생성 일시
2024/08/08 03:08
13 more properties

SOP(Same Origin Policy)

2011년 RFC 6454에서 등장한 보안 정책으로 "같은 출처에서만 리소스를 공유할 수 있다"라는 규칙을 가진 정책

Origin

출처
Protocol, Host, Port(:80, :443) 까지 전부 합친 것
포트가 생략 가능한 이유는 HTTP, HTTPS 프로토콜의 기본 포트 번호가 정해져있기 때문

Same-Origin (동일 출처)

동일 출처의 판단 기준 : Scheme(프로토콜), Host(도메인), Port까지 동일한 것

Cross-Origin (다른 출처)

다른 출처
동일 출처의 반대. Scheme(프로토콜), Host(도메인), Port 중에 하나라도 다르면 Cross Origin
개발 중에는 SOP 정책을 따르지 못하는 다른 출처간의 상호작용을 해야하는 케이스가 존재
SOP의 불편함을 해소하고 보안을 지키기 위해 등장한 기술
교차 출처 리소스 공유 도메인이 다른 서버끼리 리소스를 주고 받을 때 보안을 위해 설정된 정책
웹 통신 제약
프로토콜, 도메인(호스트 이름), 포트가 전부 동일해야함, 아니면 에러 발생

사용하는 이유

클라이언트 어플리케이션, 특히나 웹에서 돌아가는 클라이언트 어플리케이션은 사용자의 공격에 너무나도 취약하다.
브라우저의 개발자 도구만 열어봐도 DOM, Network, App, Resource등의 각종 정보들을 제재없이 열람할 수 있다.
이럴 떄 통신 제약이 없다면 보안이 너무나도 취약해진다.

해결법

응답 헤더의 Access-Control-Allow-Origin에 접근을 허용할 출처를 반환하는 방법
서버에서 CORS 헤더 설정
프록시 서버 사용
API Route에서 CORS 설정