395
阿里云
GetObject__关于Object操作_API 参考_对象存储 OSS-阿里云
用于获取某个Object,此操作要求用户对该Object有读权限。
请求语法
GET /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Range: bytes=ByteRange(可选)
请求参数(Request Parameters)
OSS支持用户在发送GET请求时,可以自定义OSS返回请求中的一些Header,前提条件用户发送的GET请求必须携带签名。这些Header包括:
名称 | 描述 |
---|---|
response-content-type | 设置OSS返回请求的content-type头 类型:字符串 默认值:无 |
response-content-language | 设置OSS返回请求的content-language头 类型:字符串 默认值:无 |
response-expires | 设置OSS返回请求的expires头 类型:字符串 默认值:无 |
response-cache-control | 设置OSS返回请求的cache-control头 类型:字符串 默认值:无 |
response-content-disposition | 设置OSS返回请求的content-disposition头 类型:字符串 默认值:无 |
response-content-encoding | 设置OSS返回请求的content-encoding头 类型:字符串 默认值:无 |
请求Header
名称 | 描述 |
---|---|
Range | 指定文件传输的范围。如,设定 bytes=0-9,表示传送第0到第9这10个字符。 类型:字符串 默认值:无 |
If-Modified-Since | 如果指定的时间早于实际修改时间,则正常传送文件,并返回200 OK;否则返回304 not modified 类型:字符串 默认值:无 时间格式:GMT时间,例如Fri, 13 Nov 2015 14:47:53 GMT |
If-Unmodified-Since | 如果传入参数中的时间等于或者晚于文件实际修改时间,则正常传输文件,并返回200 OK;否则返回412 precondition failed错误 类型:字符串 默认值:无 时间格式:GMT时间,例如Fri, 13 Nov 2015 14:47:53 GMT |
If-Match | 如果传入期望的ETag和object的 ETag匹配,则正常传输文件,并返回200 OK;否则返回412 precondition failed错误 类型:字符串 默认值:无 |
If-None-Match | 如果传入的ETag值和Object的ETag不匹配,则正常传输文件,并返回200 OK;否则返回304 Not Modified 类型:字符串 默认值:无 |
细节分析
- GetObject通过range参数可以支持断点续传,对于比较大的Object建议使用该功能。
- 如果在请求头中使用Range参数;则返回消息中会包含整个文件的长度和此次返回的范围,例如:Content-Range: bytes 0-9/44,表示整个文件长度为44,此次返回的范围为0-9。如果不符合范围规范,则传送整个文件,并且不在结果中提及Content-Range。
- 如果“If-Modified-Since”元素中设定的时间不符合规范,直接返回文件,并返回200 OK。
- If-Modified-Since和If-Unmodified-Since可以同时存在,If-Match和If-None-Match也可以同时存在。
- 如果包含If-Unmodified-Since并且不符合或者包含If-Match并且不符合,返回412 precondition failed
- 如果包含If-Modified-Since并且不符合或者包含If-None-Match并且不符合,返回304 Not Modified
- 如果文件不存在返回404 Not Found错误。错误码:NoSuchKey。
- OSS不支持在匿名访问的GET请求中,通过请求参数来自定义返回请求的header。
- 在自定义OSS返回请求中的一些Header时,只有请求处理成功(即返回码为200时),OSS才会将请求的header设置成用户GET请求参数中指定的值。
- 若该Object为进行服务器端熵编码加密存储的,则在GET请求时会自动解密返回给用户,并且在响应头中,会返回x-oss-server-side-encryption,其值表明该Object的服务器端加密算法。
- 需要将返回内容进行 GZIP压缩传输的用户,需要在请求的Header中显示方式加入 Accept-Encoding:gzip,OSS会根据文件的Content-Type和文件大小,判断是否返回给用户经过GZIP 压缩的数据。如果采用了GZIP压缩则不会附带etag 信息。目前OSS支持GZIP压缩的Content-Type为HTML、Javascript、CSS、XML、RSS、Json,文件大小需不小于1k。
- 如果文件类型为符号链接,返回目标文件的内容。并且, 响应头中
Content-Length
、ETag
、Content-Md5
均为目标文件的元信息;Last-Modified
是目标文件和符号链接的最大值;其他均为符号链接的元信息。 - 如果文件类型为符号链接,并且目标文件不存在,返回404 Not Found错误。错误码:SymlinkTargetNotExist。
- 如果文件类型为符号链接,并且目标文件类型是符号链接,返回400 Bad request错误。错误码:InvalidTargetType。
示例
请求示例:
GET /oss.jpg HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 06:38:30 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:UNQDb7GapEgJCZkcde6OhZ9Jfe8=
返回示例:
HTTP/1.1 200 OK
x-oss-request-id: 3a89276f-2e2d-7965-3ff9-51c875b99c41
x-oss-object-type: Normal
Date: Fri, 24 Feb 2012 06:38:30 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
ETag: "5B3C1A2E053D763E1B002CC607C5A0FE "
Content-Type: image/jpg
Content-Length: 344606
Server: AliyunOSS
[344606 bytes of object data]
Range请求示例:
GET //oss.jpg HTTP/1.1
Host:oss-example. oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Feb 2012 05:38:42 GMT
Range: bytes=100-900
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:qZzjF3DUtd+yK16BdhGtFcCVknM=
返回示例:
HTTP/1.1 206 Partial Content
x-oss-request-id: 28f6508f-15ea-8224-234e-c0ce40734b89
x-oss-object-type: Normal
Date: Fri, 28 Feb 2012 05:38:42 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
ETag: "5B3C1A2E053D763E1B002CC607C5A0FE "
Accept-Ranges: bytes
Content-Range: bytes 100-900/344606
Content-Type: image/jpg
Content-Length: 801
Server: AliyunOSS
[801 bytes of object data]
自定义返回消息头的请求示例:
GET /oss.jpg?response-expires=Thu%2C%2001%20Feb%202012%2017%3A00%3A00%20GMT& response-content-type=text&response-cache-control=No-cache&response-content-disposition=attachment%253B%2520filename%253Dtesting.txt&response-content-encoding=utf-8&response-content-language=%E4%B8%AD%E6%96%87 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com:
Date: Fri, 24 Feb 2012 06:09:48 GMT
返回示例:
HTTP/1.1 200 OK
x-oss-request-id: 559CC9BDC755F95A64485981
x-oss-object-type: Normal
Date: Fri, 24 Feb 2012 06:09:48 GMT
Last-Modified: Fri, 24 Feb 2012 06:07:48 GMT
ETag: "5B3C1A2E053D763E1B002CC607C5A0FE "
Content-Length: 344606
Connection: keep-alive
Content-disposition: attachment; filename:testing.txt
Content-language: 中文
Content-encoding: utf-8
Content-type: text
Cache-control: no-cache
Expires: Fri, 24 Feb 2012 17:00:00 GMT
Server: AliyunOSS
[344606 bytes of object data]
符号链接的请求示例:
GET /link-to-oss.jpg HTTP/1.1
Accept-Encoding: identity
Date: Tue, 08 Nov 2016 03:17:58 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:qZzjF3DUtd+yK16BdhGtFcCVknM=
返回示例:
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Tue, 08 Nov 2016 03:17:58 GMT
Content-Type: application/octet-stream
Content-Length: 20
Connection: keep-alive
x-oss-request-id: 582143E6D3436A212ADCC87D
Accept-Ranges: bytes
ETag: "8086265EFC0211ED1F9A2F09BF462227"
Last-Modified: Tue, 08 Nov 2016 03:17:58 GMT
x-oss-object-type: Symlink
Content-MD5: gIYmXvwCEe0fmi8Jv0YiJw==
最后更新:2016-11-23 17:16:08
上一篇:
CopyObject__关于Object操作_API 参考_对象存储 OSS-阿里云
下一篇:
AppendObject__关于Object操作_API 参考_对象存储 OSS-阿里云
多执行计划并行执行__执行计划_用户指南_E-MapReduce-阿里云
企业邮箱 在Foxmail 7.0上POP3/IMAP协议设置方法__客户端使用_邮箱常见问题_企业邮箱-阿里云
AssumedRoleUser__数据类型_STS API文档_访问控制-阿里云
SQLServerReader__Reader插件_使用手册_数据集成-阿里云
应用操作__JavaSDK手册_SDK参考手册_开放搜索-阿里云
负载均衡计费常见问题___常见问题_负载均衡-阿里云
查询网络带宽__资源监控接口_API 手册_CDN-阿里云
网络类型说明与使用场景__常见问题_专有网络 VPC-阿里云
日志查询工具__开发者工具_消息服务-阿里云
并发测试示例代码__Java SDK_SDK使用手册_消息服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云