[기술면접] CORS(Cross Origin Resource Sharing)

김주희·2023년 8월 22일
0

내배캠 15주차 TIL

목록 보기
4/10

▶️ CORS(Cross Origin Resource Sharing)에 대해 설명해주세요.

  • 웹 브라우저에 구현된 보안 기능으로, 한 도메인의 웹 페이지가 다른 도메인에서 호스팅되는 리소스를 요청하고 상호 작용하는 방법을 제어하는 메커니즘이다.
  • 서버는 이 메커니즘을 통해 리소스에 접근할 수 있는 출처를 허용하고, 요청 중에 사용할 수 있는 HTTP 메서드 및 헤더를 지정할 수 있다.
  • 클라이언트와 서버 간의 상호작용을 통해 작동한다.

작동방식

  1. 단순 요청 (Simple Requests):
    간단한 HTTP 메서드(GET, POST, HEAD)를 사용하는 경우 브라우저는 요청에 "Origin" 헤더를 추가하여 요청의 출처를 표시한다.
    서버는 이 "Origin" 헤더를 확인하고, "Access-Control-Allow-Origin" 헤더를 사용하여 허용된 출처를 나타내어 브라우저가 요청을 수락할지 결정한다.

  2. 프리플라이트 요청 (Preflight Requests):
    사용자 지정 헤더나 표준이 아닌 HTTP 메서드와 같이 복잡한 요청의 경우, 브라우저는 사전에 "프리플라이트" 또는 "OPTIONS" 요청을 서버로 보낸다.
    서버는 이 프리플라이트 요청에 대한 응답으로 "Access-Control-Allow" 헤더를 사용하여 실제 요청이 허용되는지 여부를 알려준다.

+) 참고글 https://hannut91.github.io/blogs/infra/cors

profile
꾸준히 하자

0개의 댓글