CORS

5BRack·2022년 9월 2일

백엔드 로드맵

목록 보기
3/28

SOP(Same Origin Policy)

  • SOP는 다른 출처의 리소스를 사용하는 것을 제한하는 보안 방식이다.
  • SOP는 동일한 프로토콜,호스트,포트 의 리소스만 허용한다.
  • 웹 브라우저에 내장된 보안 정책이다.
  • 브라우저를 통해 통신을 하는 경우 적용된다, 심지어 웹 앱까지

cross-origin 이란

cross-origin이란 프로토콜,도메인포트번호가 하나라도 다른 경우를 의미한다.
1. 프로토콜 - http(80), https(443) 구별
2. 도메인 - 도메인을 구별한다.
3. 포트번호를 구별한다.

origin 이란

  • origin(출처)란 URL구조에서 Protocol,Host,Port를 합친 것을 말한다.

CORS

  • cross origin resource sharing
  • 다른 origin 사이에 리소스 공유가 필요할 경우 SOP 정책을 해결할 수 있는 방법
  • cross-origin 요청을 하려면 서버의 동의가 필요하다.
  • 서버의 동의를 받는 것을 Preflight 라고 한다.

preflight 요청이란?

  • Simple requests가 아닌 cross-origin요청은 모두 preflight 요청을 하게 되는데, 실제 요청을 보내는 것이 안전한지 확인하기 위해 먼저 OPTIONS 메서드를 사용하여 cross-origin HTTP 요청을 보내 확인을 하는 방식이다.

CORS 해결법

  1. 프론트 프록시 서버 설정 - 브라우저로 다이렉트 통신을 하지 않고, 백단 서버를 만들어 해당 백단 서버에서 리소스 요청을 하는 방법
  2. 직접 헤더 설정
  • 직접 헤더에 설정을 추가한다.
  1. 서버 측 cors 허용 설정

0개의 댓글