이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
Kotlin 및 CORS: 원본 간 리소스 공유 가이드
CORS(Cross-Origin Resource Sharing)는 첫 번째 리소스가 제공된 도메인 외부의 다른 도메인에서 웹 페이지의 제한된 리소스를 요청할 수 있도록 허용하는 메커니즘입니다. 웹 페이지는 원본 간 이미지, 스타일시트, 스크립트, iframe 및 비디오를 자유롭게 포함할 수 있습니다.
CORS 메커니즘은 도메인 간 HTTP 요청 및 응답에 HTTP 헤더를 추가하여 작동합니다.
브라우저가 서버에 요청을 보낼 때 브라우저에는 Origin 헤더가 포함됩니다. 이 헤더는 요청하는 페이지의 도메인을 나타냅니다.
그런 다음 서버는 Origin 헤더 값에 따라 요청을 허용하거나 거부하도록 선택할 수 있습니다.
서버가 요청을 허용하면 응답에 다음 헤더가 포함됩니다.
서버가 요청을 허용하지 않으면 오류를 반환합니다.
CORS 메커니즘은 브라우저 기반 애플리케이션이 동일한 출처 정책을 준수하면서 교차 출처 요청을 할 수 있는 방법을 제공합니다.
동일 출처 정책은 출처 간 요청을 방지하도록 설계된 보안 수단입니다. 그러나 데이터를 검색하거나 타사 서비스를 사용하기 위해 다른 도메인에 요청하는 것과 같이 원본 간 요청에 대한 많은 합법적인 용도가 있습니다.
CORS는 이러한 유형의 원본 간 요청을 허용하는 동시에 악의적인 요청에 대한 보호를 제공하는 방법을 제공합니다.
다음은 CORS를 사용하는 방법에 대한 몇 가지 예입니다.
CORS는 완벽한 솔루션이 아닙니다. 가장 큰 제한은 모든 브라우저에서 지원되지 않는다는 것입니다.
또한 CORS는 악의적인 요청에 의해 우회될 수 있습니다. 예를 들어 악의적인 요청은 XMLHttpRequest 개체를 사용하여 CORS 헤더 없이 원본 간 요청을 할 수 있습니다.
CORS를 사용하려면 CORS를 지원하는 서버를 설정해야 합니다.
서버 설정은 이 문서의 범위를 벗어나지만 아래 리소스 섹션에서 자세한 정보를 찾을 수 있습니다.
CORS 지원 서버가 있으면 XMLHttpRequest 또는 Fetch API를 사용하여 출처 간 요청을 할 수 있습니다.
실행 전 요청은 원본 간 요청 전에 전송되는 HTTP 요청입니다. 프리플라이트 요청은 원본 간 요청을 안전하게 보낼 수 있는지 확인하는 데 사용됩니다.
실행 전 요청은 다음 헤더와 함께 전송됩니다.
그런 다음 서버는 이러한 헤더 값에 따라 요청을 허용하거나 거부하도록 선택할 수 있습니다.
서버가 요청을 허용하면 응답에 다음 헤더가 포함됩니다.
서버가 요청을 허용하지 않으면 오류를 반환합니다.
실행 전 요청은 원본 간 요청 전에 전송되는 HTTP 요청입니다. 프리플라이트 요청은 원본 간 요청을 안전하게 보낼 수 있는지 확인하는 데 사용됩니다.
실행 전 요청은 다음 헤더와 함께 전송됩니다.
그런 다음 서버는 이러한 헤더 값에 따라 요청을 허용하거나 거부하도록 선택할 수 있습니다.
서버가 요청을 허용하면 응답에 다음 헤더가 포함됩니다.
서버가 요청을 허용하지 않으면 오류를 반환합니다.
다음은 CORS 사용에 대한 몇 가지 팁입니다.
CORS는 첫 번째 리소스가 제공된 도메인 외부의 다른 도메인에서 웹 페이지의 제한된 리소스를 요청할 수 있도록 허용하는 메커니즘입니다. 웹 페이지는 원본 간 이미지, 스타일시트, 스크립트, iframe 및 비디오를 자유롭게 포함할 수 있습니다.
CORS 메커니즘은 도메인 간 HTTP 요청 및 응답에 HTTP 헤더를 추가하여 작동합니다.
브라우저가 서버에 요청을 보낼 때 브라우저에는 Origin 헤더가 포함됩니다. 이 헤더는 요청하는 페이지의 도메인을 나타냅니다.
그런 다음 서버는 Origin 헤더 값에 따라 요청을 허용하거나 거부하도록 선택할 수 있습니다.
서버가 요청을 허용하면 응답에 Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers 및 Access-Control-Expose-Headers 헤더가 포함됩니다.
서버가 요청을 허용하지 않으면 오류를 반환합니다.
CORS 메커니즘은 브라우저 기반 애플리케이션이 동일한 출처 정책을 준수하면서 교차 출처 요청을 할 수 있는 방법을 제공합니다.
동일 출처 정책은 출처 간 요청을 방지하도록 설계된 보안 조치입니다. 그러나 데이터를 검색하거나 타사 서비스를 사용하기 위해 다른 도메인에 요청하는 것과 같이 원본 간 요청에 대한 많은 합법적인 용도가 있습니다.
CORS는 이러한 유형의 원본 간 요청을 허용하는 동시에 악의적인 요청에 대한 보호를 제공하는 방법을 제공합니다.
CORS를 사용하려면 CORS를 지원하는 서버를 설정해야 합니다. 서버 설정은 이 문서의 범위를 벗어나지만 아래 리소스 섹션에서 자세한 정보를 찾을 수 있습니다.
CORS 지원 서버가 있으면 XMLHttpRequest 또는 Fetch API를 사용하여 출처 간 요청을 할 수 있습니다.
실행 전 요청은 원본 간 요청 전에 전송되는 HTTP 요청입니다. 프리플라이트 요청은 원본 간 요청을 안전하게 보낼 수 있는지 확인하는 데 사용됩니다.
실행 전 요청은 Origin, Access-Control-Request-Method 및 Access-Control-Request-Headers 헤더와 함께 전송됩니다.
그런 다음 서버는 이러한 헤더 값에 따라 요청을 허용하거나 거부하도록 선택할 수 있습니다.
서버가 요청을 허용하면 응답에 Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers 및 Access-Control-Max-Age 헤더가 포함됩니다.
서버가 요청을 허용하지 않으면 오류를 반환합니다.
다음은 CORS 사용에 대한 몇 가지 팁입니다.