Voorbereidende blobaanvraag
Met Preflight Blob Request
de bewerking wordt een query uitgevoerd op de CORS-regels (Cross-Origin Resource Sharing) voor Azure Blob Storage voordat de aanvraag wordt verzonden.
Een webbrowser of een andere gebruikersagent verzendt een voorbereidende aanvraag met het oorsprongdomein, de methode en de headers voor de aanvraag die de agent wil maken. Als CORS is ingeschakeld voor Blob Storage, evalueert Blob Storage de voorbereidende aanvraag op basis van de CORS-regels die de accounteigenaar heeft geconfigureerd via Blob Service-eigenschappen instellen. Blob Storage accepteert of weigert vervolgens de aanvraag.
Zie de CORS-specificatie en CORS-ondersteuning voor Azure Storage voor meer informatie over CORS en de voorbereidende aanvraag.
Aanvraag
U kunt als volgt opgeven Preflight Blob Request
. Vervang <account-name>
door de naam van uw opslagaccount. Vervang door <blob-resource>
de container of blobresource die het doel van de aanvraag wordt.
HTTP-woord | Aanvraag-URI | HTTP-versie |
---|---|---|
OPTIONS |
http://<account-name>.blob.core.windows.net/<blob-resource> |
HTTP/1.1 |
De URI moet altijd de slash (/) bevatten om de hostnaam te scheiden van het pad en de querygedeelten van de URI. In het geval van deze bewerking kan het padgedeelte van de URI leeg zijn of verwijzen naar een container of blobresource.
De resource bestaat mogelijk niet op het moment dat de voorbereidende aanvraag wordt ingediend. De voorbereidende aanvraag wordt op serviceniveau geƫvalueerd op basis van de CORS-regels van de service, zodat de aanwezigheid of afwezigheid van de resourcenaam geen invloed heeft op het slagen of mislukken van de bewerking.
URI-parameters
Geen.
Aanvraagheaders
In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven:
Aanvraagheader | Beschrijving |
---|---|
Origin |
Vereist. Hiermee geeft u de oorsprong van waaruit de aanvraag wordt uitgegeven. De oorsprong wordt gecontroleerd op basis van de CORS-regels van de service om het slagen of mislukken van de voorbereidende aanvraag te bepalen. |
Access-Control-Request-Method |
Vereist. Hiermee geeft u de methode (of HTTP-werkwoord) voor de aanvraag op. De methode wordt gecontroleerd op basis van de CORS-regels van de service om de fout of het succes van de voorbereidende aanvraag te bepalen. |
Access-Control-Request-Headers |
Optioneel. Hiermee geeft u de aanvraagheaders die worden verzonden. Als deze niet aanwezig is, gaat de service ervan uit dat de aanvraag geen headers bevat. |
Aanvraagbody
Geen.
Antwoord
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Statuscode
Een geslaagde bewerking retourneert statuscode 200 (OK).
Zie Status- en foutcodes voor meer informatie over statuscodes.
Antwoordheaders
Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.
Zie de CORS-specificatie voor meer informatie over headers van voorbereidende aanvragen.
Antwoordheader | Description |
---|---|
Access-Control-Allow-Origin |
Geeft de toegestane oorsprong aan, die overeenkomt met de oorsprongheader in de aanvraag als de voorbereidende aanvraag slaagt. |
Access-Control-Allow-Methods |
Als de voorbereidende aanvraag slaagt, wordt deze header ingesteld op de waarde of waarden die zijn opgegeven voor de aanvraagheader Access-Control-Request-Method . |
Access-Control-Allow-Headers |
Als de voorbereidende aanvraag slaagt, wordt deze header ingesteld op de waarde of waarden die zijn opgegeven voor de aanvraagheader Access-Control-Request-Headers . |
Access-Control-Max-Age |
Hiermee geeft u op hoe lang de gebruikersagent de voorbereidende aanvraag mag opslaan in de cache voor toekomstige aanvragen. |
Access-Control-Allow-Credentials |
Hiermee wordt aangegeven of de aanvraag kan worden gedaan via referenties. Deze header is altijd ingesteld op true . |
Hoofdtekst van de reactie
Geen.
Autorisatie
De Preflight Blob Request
bewerking wordt altijd anoniem uitgevoerd. Er is geen autorisatie vereist en referenties worden genegeerd als deze worden opgegeven.
Notitie
Als u Azure Storage Analytics hebt ingeschakeld en metrische gegevens in een logboek opgeeft, wordt een aanroep naar de Preflight Blob Request
bewerking geregistreerd als AnonymousSuccess
. Als u daarom metrische gegevens bekijkt in de Azure Portal, ziet AnonymousSuccess
u geregistreerd voor Preflight Blob Request
. Deze metrische waarde geeft niet aan dat uw persoonlijke gegevens zijn aangetast, maar alleen dat de Preflight Blob Request
bewerking is geslaagd met een statuscode van 200 (OK).
Voorbeeld van aanvraag en antwoord
In het volgende voorbeeld wordt een voorbereidende aanvraag voor de oorsprong verzonden www.contoso.com
. De aanvraagmethode is ingesteld op PUT
en de aanvraagheaders zijn ingesteld op content-type
en 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
Het antwoord geeft aan dat CORS is ingeschakeld voor de service en dat een CORS-regel overeenkomt met de voorbereidende aanvraag:
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
Opmerkingen
Als CORS is ingeschakeld voor de service en een CORS-regel overeenkomt met de voorbereidende aanvraag, reageert de service op de voorbereidende aanvraag met statuscode 200 (OK). Het antwoord bevat de vereiste Access-Control
headers. In dit geval wordt de aanvraag gefactureerd.
Als CORS niet is ingeschakeld of als er geen CORS-regel overeenkomt met de voorbereidende aanvraag, reageert de service met statuscode 403 (Verboden). In dit geval wordt de aanvraag niet gefactureerd.
Als de OPTIONS
aanvraag onjuist is ingedeeld, reageert de service met statuscode 400 (Ongeldige aanvraag) en wordt de aanvraag niet gefactureerd. Een voorbeeld van een ongeldige aanvraag is een aanvraag die niet de vereiste Origin
headers en Access-Control-Request-Method
bevat.
De voorbereidende aanvraag is een mechanisme om een query uit te voeren op de CORS-mogelijkheid van een opslagservice die is gekoppeld aan een bepaald opslagaccount. De voorbereidende aanvraag is niet gericht op een specifieke resource.
Billing
Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties worden bijvoorbeeld toegevoegd aan een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Preflight Blob Request
aanvragen op basis van het type opslagaccount:
Bewerking | Type opslagaccount | Factureringscategorie |
---|---|---|
Voorbereidende blobaanvraag | Premium-blok-blob Standard v2 voor algemeen gebruik |
Andere bewerkingen |
Voorbereidende blobaanvraag | Standard v1 voor algemeen gebruik | Leesbewerkingen |
Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.
Zie ook
Bewerkingen op het account (Blob Storage)
CORS-ondersteuning voor Azure Storage