포스트

CORS란?

CORS는 (Cross rigin Resource Sharing) 무엇일까?

Cross Origin Resource Sharing

CORS는 보안적인 이유로 HTTP 요청을 제한하기 위해 고안되었다. CORS가 없이 모든 곳에서 데이터를 요청할 수 있다면 다른 사이트에서 원래 사이트를 흉내낼 수 있게 된다. 이를 방지하기 위한 제한인 것이다. 기본적으로 헤더를 이용해서 가능하다.

Cross Origin

아래 중 한 가지라도 다른 경우

  1. 프로토콜: http와 https가 다를 때
  2. 도메인: 도메인이 서로 다를 때
  3. 포트: 포트 번호가 서로 다를 때

동작 방식

  1. 서버로 요청이 들어오고 응답을 보낼 때, 브라우저가 요청한 origin과 응답한 헤더의 Access-Control-Request-Headers의 값을 비교
  2. 각각 헤더값을 비교해 유효한 요청이라면 리소스를 응답
  3. 유효하지 않다면 브라우저에서 이를 막고 에러 발생

정리

CORS는 리소스를 받을 수 있는 요청들의 발생지(?)를 제한함으로써, 보안을 강화하는 기법

참고 링크

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.