CORS

"Cross-Origin Resource Sharing"의 약자입니다. CORS를 사용하면 웹 페이지스크립트가 다른 도메인의 리소스를 요청할 수 있습니다. 대부분의 웹 브라우저는 보안을 위해 기본적으로 이러한 유형의 요청을 차단합니다.

웹 페이지는 요청이 HTML에서 발생하는 경우 다른 도메인의 리소스를 요청할 수 있습니다. 예를 들어 <head> 섹션은 다른 도메인에 있는 CSS 파일, 글꼴, JS 파일과 같은 리소스를 참조할 수 있습니다. Google Analytics 스크립트, jQuery 라이브러리, 다른 서버에서 호스팅되는 글꼴 등이 그 예입니다. 마찬가지로 <body>CDN이나 다른 도메인에서 이미지를 요청할 수 있습니다. HTML에서 발생하는 교차 출처 리소스 요청에는 CORS 권한이 필요하지 않습니다.

스크립트나 iframe 요소가 교차 출처 요청을 수행할 때는 CORS가 필요합니다. 예를 들어 페이지가 로드된 후 실행되는 AJAX 메서드는 다른 도메인의 리소스를 요청할 수 없습니다. CORS는 이 기본 브라우저 설정을 재정의하여 요청이 처리되도록 허용합니다.

CORS는 "액세스 제어" HTTP 헤더를 사용해 구현됩니다. 서버 관리자는 웹 페이지에 액세스할 때 클라이언트의 브라우저로 전송되는 응답 헤더를 추가하거나 수정할 수 있습니다. ApacheIIS 서버에 적용할 수 있는 이러한 설정은 특정 사이트에만 적용하거나 서버 전체에 적용할 수 있습니다. 다음은 일반적인 요청 및 응답 헤더입니다.

CORS 요청 헤더:

  • Origin
  • Access-Control-Request-Method
  • Access-Control-Request-Headers

CORS 응답 헤더:

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods
  • Access-Control-Expose-Headers

CORS 예

techterms.com의 스크립트가 GET 작업을 사용해 sharpened.com의 리소스를 요청하면 다음과 같은 요청 헤더를 보낼 수 있습니다.

Origin: https://techterms.com
Access-Control-Request-Method: GET

요청을 허용하기 위해 sharpened.com은 다음과 같은 헤더로 응답할 수 있습니다.

Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET

Access-Control-Allow-Origin은 특정 도메인으로 설정하거나 별표(*)를 사용한 와일드카드로 설정할 수 있습니다. 와일드카드 설정을 사용하면 모든 도메인에서 교차 출처 리소스 요청을 허용하므로 보안 위험이 될 수 있습니다. Access-Control-Allow-Methods는 PUT, POST, DELETE 및 기타 메서드로 설정할 수 있으며, 모든 메서드를 허용하는 와일드카드(*) 설정도 사용할 수 있습니다.

업데이트됨 November 3, 2020 작성: Per C.

quiz지식 테스트하기

What file format is a progressive web app's manifest file distributed in?

A
XML
0%
B
CSV
0%
C
PLIST
0%
D
JSON
0%
Correct! Incorrect!     View the Progressive Web App definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 CORS에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.