[CS] CORS(Cross Origin Resource Sharing)

수민🐣·2022년 12월 12일
0

CS

목록 보기
8/12

CORS(Cross Origin Resource Sharing)

도메인 또는 프로토콜, 포트가 다른 서버의 자원을 요청하는 매커니즘을 말한다. = 교차 출저 공유 = 다른 도메인 간의 자원 공유

이때 요청을 할 때는 cross-origin HTTP에 의해 요청됩니다.

하지만 동일 출처 정책(same-origin policy)때문에 CORS 같은 상황이 발생하면 외부 서버에 요청한 데이터를 브라우저에서 보안 목적을 차단합니다. 때문에 서버나 클라이어트 단에서 특정 도메인 혹은 모든 도메인을 허용하도록 설정하여 해결해야 한다.

다른 Origin에 대한 요청을 허용하는 정책이며 브라우저에서 출저를 비교하고 판단함

Origin :  ① scheme, ② host, ③ port 로 이루어진 도메인을 의미

ex) https://www.naver.com/
① scheme : https
② host: www.naver.com
③ port: null (공개되지 않음)

현재 ①자신이 속한 출처를 기준으로 ②다른 출처에 API를 요청하게 되면 브라우저에서 이 요청으로 넘어오는 경과가 안전한지 판단하게 되는데, 응답을 보내는 출처가 ①자신이 속한 출처가 아닌 ②다른 출처여도 서로 예상되는 출처라면 요청에 대해 허용해주는 응답 헤더를 보내, 브라우저가 응답 결과를 보여준다. 이를 CORS라 한다.

대다수 브라우저 출처 기준은 scheme + host + port로 일치 여부 판단 (3개가 같으면 같은 출처, 아니면 다른 출처)

➕ URL(Uniform Resource Locators)

서버에 자원을 요청하기 위해 입력하는 영문 주소

숫자로 되어있는 IP주소보다는 훨씬 기억하기 쉽다는 장점

브라우저에서는 URL로 되어있는 HTTP 요청을 DNS를 통해 host에 해당하는 실제IP주소로 변환하여 서버에 요청을 보냄

0개의 댓글