실행 전 큐 요청

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

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

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

요청

다음과 같이 지정할 Preflight Queue Request 수 있습니다. <account-name>을 스토리지 계정 이름으로 바꿉니다. 을 요청의 대상이 될 큐 리소스의 이름으로 바꿉 <queue-resource> 니다.

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

호스트 이름을 URI의 경로 및 쿼리 부분과 분리하려면 항상 URI에 슬래시(/)가 포함되어야 합니다. 이 작업의 경우 URI의 경로 부분이 비어 있거나 큐 리소스를 가리킬 수 있습니다.

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

URI 매개 변수

없음

요청 헤더

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

요청 헤더 Description
Origin 필수 요소. 요청이 발급될 원본을 지정합니다. 원본은 실행 전 요청의 성공이나 실패를 결정하기 위해 서비스의 CORS 규칙에 대해 확인됩니다.
Access-Control-Request-Method 필수 요소. 요청에 대한 메서드(또는 HTTP 동사)를 지정합니다. 메서드는 실행 전 요청의 성공이나 실패를 결정하기 위해 서비스의 CORS 규칙에 대해 확인됩니다.
Access-Control-Request-Headers 선택 사항입니다. 보낼 요청 헤더를 지정합니다. 존재하지 않는 경우 서비스는 요청에 헤더가 포함되어 있지 않다고 가정합니다.

요청 본문

없음

응답

응답에는 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 Queue Request 항상 익명으로 실행됩니다. 권한 부여가 필요하지 않으며 제공된 경우 자격 증명을 무시합니다.

참고

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

샘플 요청 및 응답

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

OPTIONS http://myaccount.queue.core.windows.net/myqueue  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 기능을 쿼리하는 메커니즘입니다. 실행 전 요청은 특정 리소스를 대상으로 하지 않습니다.

추가 정보

계정에 대한 작업(Queue Storage)
Azure Storage에 대한 CORS 지원