Продажи: 1-800-867-1389

Предварительный запрос большого двоичного объекта

 

Операция Preflight Blob Request запрашивает правила общего доступа к ресурсам независимо от источника (CORS) для службы BLOB-объектов перед отправкой самого запроса. Веб-браузер или другой агент пользователя отправляют предварительный запрос, где указывается исходный домен, метод и заголовки для фактического запроса, который агент хочет сделать. Если в службе BLOB-объектов включен CORS, то она оценивает предварительный запрос по правилам CORS, настроенным владельцем учетной записи через Задание свойств службы BLOB-объектов, и принимает или отклоняет запрос.

Дополнительные сведения о CORS и предварительных запросах см. в разделах спецификации CORS и Поддержка общего доступа к ресурсам независимо от источника (CORS) для служб хранилища Azure

Запрос Preflight Blob Request можно указать следующим образом. Задайте вместо <account-name> имя своей учетной записи хранилища. Замените <blob-resource> ресурсом контейнера или большого двоичного объекта, который будет целью самого запроса.

HTTP-команда

URI запроса

Версия HTTP

OPTIONS

http://<account-name> .blob.core.windows.net/<blob-resource>

HTTP/1.1

Обратите внимание, что URI должен всегда включать косую черту (/) для отделения имени узла от частей пути и запроса URI. При выполнении этой операции часть пути URI может быть пустой или может указывать на любой ресурс контейнера или большого двоичного объекта. На момент подачи предварительного запроса ресурс может существовать, а может и отсутствовать. Предварительный запрос оценивается на уровне службы по правилам CORS службы, поэтому наличие или отсутствие имени ресурса не влияет на эту операцию.

Отсутствует.

В следующей таблице перечислены обязательные и необязательные заголовки запросов.

Заголовок запроса

Описание

Origin

Обязательно. Указывает источник, от которого будет подан сам запрос. Источник проверяется по правилам CORS службы с целью определить, успешен или ошибочен предварительный запрос.

Access-Control-Request-Method

Обязательно. Указывает метод (или HTTP-команду) для самого запроса. Метод проверяется по правилам CORS службы с целью определить, успешен или ошибочен предварительный запрос.

Access-Control-Request-Headers

Необязательно. Указывает заголовки для самого запроса, которые будут отправлены. В этом случае в службе будет считаться, что в самом запросе никаких заголовков нет.

Отсутствует.

Ответ включает код состояния HTTP и набор заголовков ответа.

Успешная операция возвращает код состояния 200 (ОК).

Сведения о кодах состояния см. в разделе Коды состояний и ошибок.

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Подробные сведения о заголовках предварительных запросов см. в спецификации CORS.

Заголовок ответа

Описание

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 Blob Request выполняет проверку подлинности любого запроса, который содержит правильные заголовки проверки подлинности или подписанный URL-адрес.

Анонимные запросы, проверка подлинности которых не производится, также обрабатываются независимо от того, существует ли ресурс, поскольку предварительные запросы OPTIONS оцениваются по параметрам службы учетных записей.

В следующем примере показана отправка предварительного запроса на исходный адрес www.contoso.comс помощью метода запроса PUT и заголовков запроса content-type и accept.

OPTIONS http://myaccount.blob.core.windows.net/mycontainer/myblockblob  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 (Forbidden). В этом случае счет за запрос выставлен не будет.

Если запрос OPTIONS сформирован неправильно, то в ответ служба отправит код состояния 400 (Bad Request) и запрос не будет включен в счет. Примером неправильно сформированного запроса является запрос, который не содержит обязательные заголовки Origin и Access-Control-Request-Method.

Обратите внимание, что предварительные запросы — это механизм использования функций CORS службы хранилища, связанной с какой-либо учетной записью хранилища. Предварительный запрос не нацелен на конкретный ресурс.

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Показ:
© 2016 Microsoft