GET operations against an object are used to retrieve the object's data.

Note that you can perform conditional GET requests by using certain HTTP headers as documented in RFC 2616. OpenStack Object Storage supports the following headers:

RFC 2616: http://www.ietf.org/rfc/rfc2616.txt

  • If-Match

  • If-None-Match

  • If-Modified-Since

  • If-Unmodified-Since

It is also possible to fetch a portion of data using the HTTP Range header. At this time, OpenStack Object Storage does not support the full specification for Range but basic support is provided. OpenStack Object Storage only allows a single range that includes OFFSET and/or LENGTH. We support a sub-set of Range and do not adhere to the full RFC-2616 specification. We support specifying OFFSET-LENGTH where either OFFSET or LENGTH can be optional (not both at the same time). The following are supported forms of the header:

  • Range: bytes=-5 - last five bytes of the object

  • Range: bytes=10-15 - the five bytes after a 10-byte offset

  • Range: bytes=32- - all data after the first 32 bytes of the object


The object's data is returned in the response body. Object metadata is returned as HTTP headers. A status of 200 (Ok) indicates success; status 404 (Not Found) is returned if no such object exists.