실행 전 파일 요청

작업은 Preflight File Request 요청을 보내기 전에 Azure Files 대한 CORS(원본 간 리소스 공유) 규칙을 쿼리합니다.

웹 브라우저 또는 다른 사용자 에이전트는 에이전트가 만들려는 요청에 대한 원본 도메인, 메서드 및 헤더를 포함하는 실행 전 요청을 보냅니다. CORS가 Azure Files 사용하도록 설정된 경우 Azure Files 계정 소유자가 파일 서비스 속성 설정을 통해 구성한 CORS 규칙에 대해 실행 전 요청을 평가합니다. 그런 다음 Azure Files 요청을 수락하거나 거부합니다.

CORS 및 실행 전 요청에 대한 자세한 내용은 Azure Storage 에 대한 CORS 사양CORS 지원을 참조하세요.

프로토콜 가용성

파일 공유 프로토콜 사용 사용 가능
SMB Yes
NFS Yes

요청

다음과 같이 지정할 Preflight File Request 수 있습니다. <account-name>을 스토리지 계정 이름으로 바꿉니다. 를 요청의 대상이 될 공유, 디렉터리 또는 파일 리소스로 바꿉 <file-resource> 다.

HTTP 동사 요청 URI HTTP 버전
OPTIONS http://<account-name>.file.core.windows.net/<file-resource>

http://<account-name>.file.core.windows.net/<file-resource>?restype=share

http://<account-name>.file.core.windows.net/<file-resource>?restype=directory
HTTP/1.1

호스트 이름을 URI의 경로 및 쿼리 부분과 구분하려면 항상 URI에 슬래시(/)가 포함되어야 합니다. 이 작업의 경우 URI의 경로 부분은 비어 있거나 Azure Files 리소스를 가리킬 수 있습니다. Azure Files 리소스가 공유 또는 디렉터리인 restype 경우 쿼리 매개 변수가 필요합니다.

리소스는 실행 전 요청이 이루어진 시점에 존재할 수도 있고 존재하지 않을 수도 있습니다. 실행 전 요청은 서비스의 CORS 규칙에 대해 서비스 수준에서 평가되므로 리소스 이름의 존재 또는 부재는 작업의 성공 또는 실패에 영향을 주지 않습니다.

URI 매개 변수

없음

요청 헤더

다음 표에서는 필수 및 선택적 요청 헤더에 대해 설명합니다.

요청 헤더 Description
Origin 필수 요소. 요청이 발급될 원본을 지정합니다. 원본은 실행 전 요청의 성공이나 실패를 결정하기 위해 서비스의 CORS 규칙에 대해 확인됩니다.
Access-Control-Request-Method 필수 요소. 요청에 대한 메서드(또는 HTTP 동사)를 지정합니다. 메서드는 실행 전 요청의 성공이나 실패를 결정하기 위해 서비스의 CORS 규칙에 대해 확인됩니다.
Access-Control-Request-Headers (선택 사항) 보낼 요청 헤더를 지정합니다. 존재하지 않는 경우 서비스는 요청에 헤더가 포함되어 있지 않다고 가정합니다.
x-ms-allow-trailing-dot: { <Boolean> } (선택 사항) 버전 2022-11-02 이상. 부울 값은 요청 URL에 있는 후행 점을 잘라내야 하는지 여부를 지정합니다. 자세한 내용은 공유, 디렉터리, 파일 및 메타데이터 이름 지정 및 참조를 참조하세요.

요청 본문

없음

응답

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.

상태 코드

작업에 성공하면 상태 코드 200(정상)이 반환됩니다.

응답 헤더

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을 준수합니다.

실행 전 요청 헤더에 대한 자세한 내용은 CORS 사양을 참조하세요.

응답 헤더 Description
Access-Control-Allow-Origin 실행 전 요청이 성공하면 요청의 원본 헤더와 일치하는 허용된 원본을 나타냅니다.
Access-Control-Allow-Methods 실행 전 요청이 성공하면 이 헤더는 요청 Access-Control-Request-Method헤더 에 지정된 값 또는 값으로 설정됩니다.
Access-Control-Allow-Headers 실행 전 요청이 성공하면 이 헤더는 요청 Access-Control-Request-Headers헤더 에 지정된 값 또는 값으로 설정됩니다.
Access-Control-Max-Age 사용자 에이전트가 향후 요청에 대한 실행 전 요청을 캐시할 수 있는 기간을 지정합니다.
Access-Control-Allow-Credentials 자격 증명을 통해 요청을 수행할 수 있는지 여부를 나타냅니다. 이 헤더는 항상 true로 설정됩니다.

응답 본문

없음

권한 부여

작업은 Preflight File Request 항상 익명으로 실행됩니다. 권한 부여가 필요하지 않으며 제공된 경우 자격 증명을 무시합니다.

참고

Azure Storage 분석을 사용하도록 설정하고 메트릭을 로깅하는 경우 작업에 대한 Preflight File Request 호출은 로 AnonymousSuccess기록됩니다. 이러한 이유로 Azure Portal 메트릭을 보면 에 대한 Preflight File Request로깅이 표시됩니다AnonymousSuccess. 이 메트릭은 개인 데이터가 손상되었음을 나타내는 것이 아니라 Preflight File Request 상태 코드 200(OK)으로 작업이 성공했음을 나타냅니다.

샘플 요청 및 응답

다음 예제에서는 원본 www.contoso.com에 대한 실행 전 요청을 보냅니다. 요청 메서드는 로 PUT설정되고 요청 헤더는 및 acceptcontent-type 설정됩니다.

OPTIONS http://myaccount.file.core.windows.net/myshare/myfile  
HTTP/1.1  
Accept: */*  
Origin: www.contoso.com  
Access-Control-Request-Method: PUT  
Access-Control-Request-Headers: content-type, accept  
Accept-Encoding: gzip, deflate  
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)  
Content-Length: 0    

응답은 CORS가 서비스에 대해 사용하도록 설정되어 있고 CORS 규칙이 실행 전 요청과 일치한다는 것을 나타냅니다.

HTTP/1.1 200 OK  
Connection: Keep-Alive  
Content-Length: 0  
Content-Type: text/html; charset=UTF-8  
Access-Control-Allow-Origin: *  
Access-Control-Max-Age: 60  
Access-Control-Allow-Methods: PUT  
Access-Control-Allow-Headers: accept,content-type

설명

서비스에 CORS를 사용하도록 설정하고 CORS 규칙이 실행 전 요청과 일치하는 경우 서비스는 상태 코드 200(OK)을 사용하여 실행 전 요청에 응답합니다. 응답에는 필요한 Access-Control 헤더가 포함됩니다. 이 경우 요청 요금이 청구됩니다.

CORS가 사용되지 않거나 실행 전 요청과 일치하는 CORS 규칙이 없는 경우 서비스는 상태 코드 403(사용할 수 없음)으로 응답합니다. 이 경우 요청은 청구되지 않습니다.

요청 형식이 OPTIONS 잘못된 경우 서비스는 상태 코드 400(잘못된 요청)으로 응답하고 요청은 청구되지 않습니다. 형식이 잘못된 요청의 예는 필수 OriginAccess-Control-Request-Method 헤더를 포함하지 않는 요청입니다.

실행 전 요청은 특정 스토리지 계정과 연결된 스토리지 서비스의 CORS 기능을 쿼리하는 메커니즘입니다. 실행 전 요청은 특정 리소스를 대상으로 하지 않습니다.