下载对象。
GET 对象的请求可以包括 HTTP 1.1 RFC 中定义的 Range 标头,以限制对象中返回数据的范围,但切记在某些情况下, 101}range 标头将被忽略。
满足某些条件时,Cloud Storage 中压缩状态的对象可以自动解压缩到下载请求中。这种转码行为无需请求者解压缩对象的需求。
请求还可以包含 If-Modified-Since 或 If-Unmodified-Since 标头,因此,如果由于指定时间戳而对象未经修改或已修改,则响应会省略正文。如果对象不符合 If- Modified-Since 标头条件,则响应为 304 Not Modified,如果对象不符合 If-Unmodified-Since 标头条件,则响应为 {101 }412 前提条件失败。
同样,请求可以包含 If-Match 和 If-None-Match 标头以及要匹配的 ETag。如果对象与 If-Match 标头条件不匹配,则响应为 412 Precondition Failed,如果对象与 If-None-Match 标头中的指定哈希匹配,则响应为 304 Not{101 }已修改。
如需了解如何下载对象,请参阅下载对象指南。
查询字符串参数
参数 | 说明 | 必需 |
---|---|---|
generation |
如果要提取特定对象版本,您可以使用此属性。 | 否 |
如需了解您在创建和使用签名网址时包含的参数,请参阅签名网址查询字符串参数。
请求标头
除了通用请求标头之外,您还可以使用以下内容。
标题 | 说明 | 必需 |
---|---|---|
If-Match |
实体标记 (ETag)。如果您指定的 ETag 与对象的 ETag 相同,则会下载该对象。 | 否 |
If-Modified-Since |
日期和时间。如果在修改日期和时间之前修改过对象,则系统会下载该对象。 | 否 |
If-None-Match |
实体标记 (ETag)。如果您指定的 ETag 与对象的 ETag 不同,则会下载对象。 | 否 |
If-Unmodified-Since |
日期和时间。如果在指定日期后对象未经过修改,则会下载该对象。 | 否 |
Range |
要下载的对象范围(以字节为单位)。 警告:从 Cloud Storage 下载数据时返回的校验和涵盖了完整的对象内容。因此,如果您指定请求范围,则无法单独检测该字节范围的数据损坏。因此,我们建议您仅使用范围请求,以在上次接收偏移量后重启完整对象的下载,因为在这种情况下,您可以计算和验证整个下载完成后的校验和。 |
否 |
要下载由客户提供的加密密钥加密的对象,请在请求中使用“加密”页面上列出的标头。
请求正文元素
此请求不包含 XML 文档。
请求语法
以下语法适用于不使用 acl
查询字符串参数的 GET Object 请求。
GET /OBJECT_NAME HTTP/1.1 Host: BUCKET_NAME.storage.googleapis.com Content-Length: 0 Authorization: AUTHENTICATION_STRING Range: bytes=BYTE_RANGE If-Match: ENTITY_TAG If-Modified-Since: DATE If-None-Match: ENTITY_TAG If-Unmodified-Since: DATE
响应标头
请求可能会返回各种响应标头,具体取决于您使用的请求标头:Cache-Control、Content-Length、 Content-Type、Content-Disposition、ETag 和 Last-Modified.
响应正文元素
响应包含对象数据。
示例
以下示例下载名为 paris.jpg 的对象,它位于名为 travel-maps 的存储分区中。
请求
GET /paris.jpg HTTP/1.1 Host: travel-maps.storage.googleapis.com Content-Length: 0 Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
响应
HTTP/1.1 200 OK Content-Type: image/jpg Last-Modified: Fri, 19 Feb 2010 22:13:49 GMT ETag: "2281880ef78388266ecd7d4c1b472a0e" Content-Length: 328 Date: Fri, 19 Feb 2010 22:13:49 GMT 328 bytes of data...