CORS

SEOKWOO LEE·2022년 10월 23일
0

Cross-Origin Resource Sharing ( CORS )은 브라우저가 리소스 로드를 허용해야 하는 자체가 아닌 다른 출처 (도메인, 체계 또는 포트) 를 서버가 나타낼 수 있도록 하는 HTTP 헤더 기반 메커니즘입니다. CORS는 또한 서버가 실제 요청을 허용하는지 확인하기 위해 브라우저가 교차 출처 리소스를 호스팅하는 서버에 "프리플라이트" 요청을 하는 메커니즘에 의존합니다. 해당 프리플라이트에서 브라우저는 실제 요청에 사용될 HTTP 메서드와 헤더를 나타내는 헤더를 보냅니다. -MDN

Cross-Origin Resource Sharing (CORS)는 번역하자면 교차 출처 리소스 공유이다.

CORS를 이해하기 위해선 SOP를 알아야한다.

SOP

SOP는 Same Origin Policy의 약자로 동일 출처 정책이다.
Origin을 출처로 해석하는데 URL을 보면 이해하기 좋다.

URL은 Protocol, Domain, Port, Path, Query 등으로 이루어지는데 여기에서 Origin은 Protocol, domain, Port까지를 의미한다.
https://velog.io:443/seogoo12

SOP는 웹 브라우저에서 보안을 위해 Origin이 다른 요청이 들어온다면 차단하는 정책이다.

CORS

Cross-Origin Resource Sharing (CORS) 즉, 교차 출처 리소스 공유는 출처(Origin)가 다르더라도 리소스(데이터)를 주고받을 수 있도록 허용하는 정책이다.

새로운 HTTP 헤더를 추가하여 다른 출처의 리소스에 접근할 수 있도록 함으로써 작동한다.

CORS 접근제어 시나리오에는 세가지가 있다.

  • Simple Request (단순 요청) : 요청에 예비요청을 보내지 않고 바로 서버로 요청을 보낸 후 서버에서 응답 시 CORS 정책 검사를 하는 요청 방법
  • Preflighted Requst (예비 요청) : 요청을 예비 요청과 본 요청을 나누어 전송하고 예비 요청에 option 매소드를 사용하는 요청
  • Credentialed Request (인증 요청) : 요청에 인증관련 정보를 담을 수 있게 해주는 option을 가지고있는 요청 방법
profile
내가 보기위해 만든 나만의 공부 노트

0개의 댓글

관련 채용 정보