Antes de enviar una solicitud de origen cruzado, el navegador envía automáticamente una solicitud de precomprobación OPTIONS a OSS con el origen, el método HTTP y los encabezados para determinar si se permite la solicitud de origen cruzado.
Estructura de la solicitud
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
Encabezados de solicitud
|
Encabezado |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
Origin |
String |
Sí |
http://www.example.com |
Origen de la solicitud, utilizado para identificar una solicitud de origen cruzado. Solo se permite un encabezado Origin por solicitud. Valor predeterminado: null |
|
Access-Control-Request-Method |
String |
Sí |
PUT |
Método HTTP para la solicitud de origen cruzado real. Solo se permite un valor por solicitud. Valor predeterminado: null |
|
Access-Control-Request-Headers |
String |
No |
x-oss-test1,x-oss-test2 |
Encabezados personalizados para la solicitud de origen cruzado real. Separe varios encabezados con comas (,). Valor predeterminado: null |
Encabezados de respuesta
|
Encabezado |
Tipo |
Ejemplo |
Descripción |
|
Access-Control-Allow-Origin |
String |
http://www.example.com |
Origen permitido. No se incluye en la respuesta si se rechaza la solicitud. |
|
Access-Control-Allow-Methods |
String |
PUT |
Método HTTP permitido. No se incluye en la respuesta si se rechaza la solicitud. |
|
Access-Control-Allow-Headers |
String |
x-oss-test,x-oss-test1 |
Encabezados de solicitud permitidos. Si se incluyen encabezados no permitidos, se rechaza la solicitud y este encabezado se omite en la respuesta. |
|
Access-Control-Expose-Headers |
String |
x-oss-test1,x-oss-test2 |
Encabezados accesibles para JavaScript del lado del cliente. |
|
Access-Control-Max-Age |
Integer |
60 |
Tiempo máximo durante el cual el navegador almacena en caché los resultados de la precomprobación. Unidad: segundos. |
Ejemplos
Solicitud de ejemplo
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
Respuesta de ejemplo
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
Para obtener información sobre el comando de ossutil correspondiente a esta operación, consulte option-object.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
AccessForbidden |
403 |
Se devuelve cuando OSS rechaza la solicitud de origen cruzado o cuando CORS está deshabilitado para el bucket. Llame a PutBucketCORS para habilitar CORS. Una vez habilitado CORS, OSS determina si permite la solicitud de origen cruzado real según las reglas de CORS especificadas. |