Network

[Network] CORS

2juhyunju 2022. 8. 25. 10:08

CORS

CORS (Cross Origin Resource Sharing) 는 교차 출처 리소스 공유라고 부르며 추가 HTTP 헤더를 사용하여 한 출처에서 실행 중인 웹 어플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제이다. 쉽게 말하면 클라이언트 어플리케이션과 다른 origin을 가진 서버 어플리케이션이 서로 통신할 수 있도록 허용하는 프로토콜 이라고 생각하면 쉽게 생각할 수 있다.


CORS 종류

단순요청 ( Simple requests )

사전요청 없이 바로 요청을 보내는 것이다 여기에는 몇 가지 조건을 만족해야 한다.

  • 메서드가 GET,POST HEAD 이어야 한다.
  • Content-Type이 application/x-www-form-urlencoded, multpart/form-data,text/plain 이어야 한다.
  • 헤더가 Accept, Accept-Language, Content-Language, Content-Type 만 허용 

사전요청 ( preflighted requests )

사전 요청은 OPTIONS 메서드를 통해 다른 도메인 리소스에 요청이 가능한지 확인하는 작업 요청이 가능하면 실제 요청을 보낸다.

인증요청 ( Credentialed Request )

인증 관련 헤더를 포함할 때 사용하는 요청이다.