[브라우저] CORS 설명해보기

Dan·2023년 2월 14일

브라우저

목록 보기
3/4

CORS란 무엇이고 어떻게 허용할 수 있나요?

  • CORS는 cross-origin resource sharing의 약자다.
  • 개인적으로 용어가 모호해서 더 어렵게 느껴졌던 경험이 있다.
  • 풀어서 말하면 서로 다른 ORIGIN(프로토콜 + HOST + 포트번호)간의 자원 공유다.
  • 무엇보다 CORS는 SOP 정책의 맥락 안에서 이해해야한다.
  • CORS는 SOP의 예외조항이자, 설정 요소이기도 하다.
  • SOP 정책(Same-origin policy, 동일 출처 정책)은 자바스크립트 엔진 표준 스펙의 보안 규칙이다.
  • 이름에서 엿볼 수 있듯 서로 다른 ORIGIN 간에 자원 공유를 제한하고 동일 출처에서만 접근이 가능하도록 하는 정책이다.
  • SOP에는 서로 다른 ORIGIN간의 자원 공유를 허용하는 몇 가지 예외 사항이 존재하는데, 그 중 하나가 CORS를 사용한 요청이다.
  • CORS를 사용한다는 말이 모호하다.

    교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. - MDN

  • 개발 과정에서 CORS를 사용한다는 말은 '서버에서 Access-Control-Allow-Origin에 허용해줄 Origin을 설정해준다' 정도로 이해하면 좋을 것 같다.
  • CORS외의 예외조항으로는 실행 가능한 스크립트, 렌더될 이미지, 스타일 시트 정도가 있다.

0개의 댓글