Avant d'envoyer une requête inter-origines, le navigateur envoie automatiquement une requête de pré-vérification OPTIONS à OSS. Celle-ci inclut l'origine, la méthode HTTP et les en-têtes afin de déterminer si la requête inter-origines est autorisée.
Structure de la requête
OPTIONS /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Origin:Origin
Access-Control-Request-Method:HTTP method
Access-Control-Request-Headers:Request Headers
En-têtes de requête
|
En-tête |
Type |
Obligatoire |
Exemple |
Description |
|
Origin |
String |
Oui |
http://www.example.com |
Origine de la requête, utilisée pour identifier une requête inter-origines. Un seul en-tête Origin est autorisé par requête. Valeur par défaut : null |
|
Access-Control-Request-Method |
String |
Oui |
PUT |
Méthode HTTP de la requête inter-origines réelle. Une seule valeur est autorisée par requête. Valeur par défaut : null |
|
Access-Control-Request-Headers |
String |
Non |
x-oss-test1,x-oss-test2 |
En-têtes personnalisés pour la requête inter-origines réelle. Séparez plusieurs en-têtes par des virgules (,). Valeur par défaut : null |
En-têtes de réponse
|
En-tête |
Type |
Exemple |
Description |
|
Access-Control-Allow-Origin |
String |
http://www.example.com |
Origine autorisée. Absent de la réponse si la requête est refusée. |
|
Access-Control-Allow-Methods |
String |
PUT |
Méthode HTTP autorisée. Absente de la réponse si la requête est refusée. |
|
Access-Control-Allow-Headers |
String |
x-oss-test,x-oss-test1 |
En-têtes de requête autorisés. Si des en-têtes non autorisés sont inclus, la requête est refusée et cet en-tête est omis de la réponse. |
|
Access-Control-Expose-Headers |
String |
x-oss-test1,x-oss-test2 |
En-têtes accessibles au JavaScript côté client. |
|
Access-Control-Max-Age |
Integer |
60 |
Durée maximale de mise en cache des résultats de pré-vérification par le navigateur. Unité : secondes. |
Exemples
Exemple de requête
OPTIONS /testobject HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMT
Origin:http://www.example.com
Access-Control-Request-Method:PUT
Access-Control-Request-Headers:x-oss-test1,x-oss-test2
Exemple de réponse
HTTP/1.1 200 OK
x-oss-request-id: 5051845BC4689A033D00****
Date: Fri, 24 Feb 2012 05:45:34 GMT
Access-Control-Allow-Origin: http://www.example.com
Access-Control-Allow-Methods: PUT
Access-Control-Expose-Headers: x-oss-test1,x-oss-test2
Connection: keep-alive
Content-Length: 0
Server: AliyunOSS
ossutil
Pour plus d'informations sur la commande ossutil correspondant à cette opération, consultez option-object.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
AccessForbidden |
403 |
Renvoyé lorsque OSS rejette la requête inter-origines ou que CORS est désactivé pour le bucket. Appelez PutBucketCORS pour activer CORS. Une fois CORS activé, OSS détermine s'il faut autoriser la requête inter-origines réelle en fonction des règles CORS spécifiées. |